studio - Cómo cambiar el tamaño de fuente de tabhost en android
tabs con fragments android (4)
Ligeramente generalizado:
final TabWidget tw = (TabWidget)mTabHost.findViewById(android.R.id.tabs);
for (int i = 0; i < tw.getChildCount(); ++i)
{
final View tabView = tw.getChildTabViewAt(i);
final TextView tv = (TextView)tabView.findViewById(android.R.id.title);
tv.setTextSize(20);
}
¿Cómo se puede cambiar el tamaño de la fuente de las pestañas? Extiendo TabActivity para las pestañas.
No es bonito, pero prueba este Dirty Fix:
TabWidget tw = (TabWidget)tabHost.findViewById(android.R.id.tabs);
View tabView = tw.getChildTabViewAt(0);
TextView tv = (TextView)tabView.findViewById(android.R.id.title);
tv.setTextSize(20);
o
//Do this to hack font size of title text
LinearLayout ll = (LinearLayout) tabHost.getChildAt(0);
TabWidget tw = (TabWidget) ll.getChildAt(0);
// for changing the text size of first tab
RelativeLayout rllf = (RelativeLayout) tw.getChildAt(0);
TextView lf = (TextView) rllf.getChildAt(1);
lf.setTextSize(21);
lf.setPadding(0, 0, 0, 6);
Puede definir temas, usar estilos para lograr esto:
Primero crea el tema (nombre: CustomTheme
) para su Activity
en res/values/styles.xml
:
<style name="CustomTheme" parent="@android:style/Theme">
<item name="android:tabWidgetStyle">@style/CustomTabWidget</item>
</style>
<style name="CustomTabWidget" parent="@android:style/Widget.TabWidget">
<item name="android:textAppearance">@style/CustomTabWidgetText</item>
</style>
<style name="CustomTabWidgetText"
parent="@android:style/TextAppearance.Widget.TabWidget">
<item name="android:textSize">20sp</item>
<item name="android:textStyle">bold</item>
</style>
Luego, en su androidManifest.xml
, especifica el tema anterior para su TabActivity
o Activity
contiene su TabWidget
:
<activity android:name="MyTabActivity" android:theme="@style/CustomTheme">
Esto le servirá con el resultado que desea (por supuesto, debe cambiar el tamaño y el estilo para su preferencia).
Utilizo este fragmento de código en mi Código pero solo tiene efecto en la primera Pestaña, las otras 3 Pestañas aún no se modifican.
TabWidget tw = (TabWidget)tabHost.findViewById(android.R.id.tabs);
View tabView = tw.getChildTabViewAt(0);
TextView tv = (TextView)tabView.findViewById(android.R.id.title);
tv.setTextSize(10);