Sie auch diese in Ihrem Java-Code tun. Wenn Sie einen SlidingTabLayout Blick auf diese Probe verwenden:
protected TextView createDefaultTabView(Context context){
TextView textView = new TextView(context);
textView.setGravity(Gravity.CENTER);
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, TAB_VIEW_TEXT_SIZE_SP);//see line 38 above change the value their in TAB_VIEW_TEXT_SIZE_SP.
textView.setTypeface(Typeface.DEFAULT);//From DEFAULT_BOLD
textView.setTextColor(Color.parseColor("#536DFE"));//Text color of the words in the tabs. Indigo A200
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){
// If we're running on Honeycomb or newer, then we can use the Theme's
// selectableItemBackground to ensure that the View has a pressed state
TypedValue outValue = new TypedValue();
getContext().getTheme().resolveAttribute(android.R.attr.selectableItemBackground, outValue, true);
textView.setBackgroundResource(outValue.resourceId);
}
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
// If we're running on ICS or newer, enable all-caps to match the Action Bar tab style
textView.setAllCaps(true);
}
int padding = (int)(TAB_VIEW_PADDING_DIPS * getResources().getDisplayMetrics().density);
textView.setPadding(padding, padding, padding, padding);
return textView;
}
Beachten Sie, dass textView.setAllCaps() wahr wie der Umfang hat:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
// If we're running on ICS or newer, enable all-caps to match the Action Bar tab style
textView.setAllCaps(true);
}
Als ich dies geändert (false) es gelöst das Problem für mich:
textView.setAllCaps(false);
meine String-Ressource-Datei auch, dass ich für die Registerkarten verwenden, sieht wie folgt aus:
Wenn Sie jedoch alle Caps wie> TITLE WITH CAPS < hatten, würden Sie natürlich immer noch alle Caps in Ihren Tabs bekommen.
Ich machte keine weiteren Änderungen.
Es ist bemerkenswert, dass Sie textView.setAllCaps (false) auch festlegen können, aber das machte keinen Unterschied in meinem Fall. Ich habe gerade textView.setAllCaps auskommentiert (true).
Ich glaube, dass Sie das in einem bestimmten Stil definieren müssen, der den Basisstil für ein TabLayout erbt. – Vannen
@Vannen kann mir bitte einen Code zeigen, der dieses Problem löst? – dhuma1981
verwenden Sie bitte editText.setFilters (new InputFilter [] {new InputFilter.AllCaps()}); –