Вы также можете сделать это в своем Java-коде. Если вы используете SlidingTabLayout посмотреть на этом примере:
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;
}
Обратите внимание, что textView.setAllCaps() имеет истинную как периметр:
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);
}
Когда я изменил это (ложное) она решена проблема для меня:
textView.setAllCaps(false);
Кроме того, мой файл ресурсов строки, которые я использую для вкладок выглядит следующим образом:
<string name="tab_title">Title with capital and smaller case</string>
Однако, если у него были все колпачки наподобие> TITLE WITH ALL CAPS <, вы все равно, конечно, получите все шапки на своих вкладках.
Я не внес никаких изменений.
Следует отметить, что вы также можете установить textView.setAllCaps (false), но это не имело никакого значения в моем случае. Я просто прокомментировал textView.setAllCaps (true).
Я считаю, что вы должны определить это в определенном стиле, который наследует базовый стиль для TabLayout. – Vannen
@ Ваннен может показать мне какой-то код, который решает эту проблему? – dhuma1981
используйте editText.setFilters (новый InputFilter [] {new InputFilter.AllCaps()}); –