如何更改选项卡的字体大小?我为选项卡扩展了 TabActivity。
问问题
49127 次
4 回答
69
您可以定义主题,使用样式来实现这一点:
首先,您在您的中CustomTheme
为您创建主题(名称:) :Activity
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>
然后在androidManifest.xml
你指定上面的主题为你的TabActivity
或Activity
包含你的TabWidget
:
<activity android:name="MyTabActivity" android:theme="@style/CustomTheme">
这将为您提供所需的输出(当然您应该根据自己的喜好更改大小和样式)。
于 2011-04-26T11:46:20.530 回答
17
它不漂亮,但试试这个 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);
或者
//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);
于 2011-04-26T10:36:25.350 回答
6
稍微概括:
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);
}
于 2014-09-30T22:27:22.853 回答
2
我在我的代码中使用了这段代码,但它只影响第一个选项卡,其他 3 个选项卡仍然没有改变。
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);
于 2015-05-23T11:40:05.763 回答