tabhost tab studio fragments example ejemplo developer control con android android-tabhost tabwidget android-style-tabhost

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);