Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


El texto de la presentación de la etiqueta deslizante es mayúscula

Hola estoy utilizando el diseño de la pestaña de deslizamiento en mi aplicación y todo funciona muy bien. Lo único que no entiendo es por qué mis tabuladores de texto están en mayúsculas.

He imprimido el texto de las pestañas obtener dentro de la clase de la pestaña de deslizamiento y no están en mayúsculas. He mirado alrededor y no hay un método toUpperCase que se llama.

Aquí está el código de la clase que establece el texto:

private void populateTabStrip() { final PagerAdapter adapter = mViewPager.getAdapter(); final View.OnClickListener tabClickListener = new TabClickListener(); for (int i = 0; i < adapter.getCount(); i++) { View tabView = null; TextView tabTitleView = null; if (mTabViewLayoutId != 0) { // If there is a custom tab view layout id set, try and inflate it tabView = LayoutInflater.from(getContext()).inflate(mTabViewLayoutId, mTabStrip, false); tabTitleView = (TextView) tabView.findViewById(mTabViewTextViewId); } if (tabView == null) { tabView = createDefaultTabView(getContext()); } if (tabTitleView == null && TextView.class.isInstance(tabView)) { tabTitleView = (TextView) tabView; } if (mDistributeEvenly) { LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) tabView.getLayoutParams(); lp.width = 0; lp.weight = 1; } tabTitleView.setText(adapter.getPageTitle(i)); tabTitleView.setTextColor(getResources().getColor(R.color.da_blue)); tabView.setOnClickListener(tabClickListener); String desc = mContentDescriptions.get(i, null); if (desc != null) { tabView.setContentDescription(desc); } mTabStrip.addView(tabView); if (i == mViewPager.getCurrentItem()) { tabView.setSelected(true); } } } 

Estoy seguro de que puedo hacerlo a través de un estilo pero realmente no estoy seguro de cuál usar. Esto es lo que tengo en mis estilos:

 <resources> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:actionBarTabTextStyle">@style/ActionBarTabTextStyle.Tabtheme</item> <item name="actionBarTabTextStyle">@style/ActionBarTabTextStyle.Tabtheme</item> </style> <style name="ActionBarTabTextStyle.Tabtheme" parent="@android:style/Widget.Holo.ActionBar.TabText"> <item name="android:textAllCaps">false</item> </style> </resources> 

2 Solutions collect form web for “El texto de la presentación de la etiqueta deslizante es mayúscula”

Si utiliza "android.support.design.widget.TabLayout" necesario para establecer la app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"

Encontró la respuesta que estaba en el método createDefaultTabView ().

Necesario para cambiar textView.setAllCaps (true) a false.

 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); textView.setLayoutParams(new LinearLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); TypedValue outValue = new TypedValue(); getContext().getTheme().resolveAttribute(android.R.attr.selectableItemBackground, outValue, true); textView.setBackgroundResource(outValue.resourceId); textView.setAllCaps(false); **// Changed to false and it did the trick** int padding = (int) (TAB_VIEW_PADDING_DIPS * getResources().getDisplayMetrics().density); textView.setPadding(padding, padding, padding, padding); return textView; } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.