如何更改選項卡的字體大小?我爲選項卡擴展TabActivity。如何更改android中的tabhost字體大小
回答
您可以定義主題,使用樣式來實現這一目標:
首先創建主題(名: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">
這將有助於你與你想要的(當然你應該改變的大小和樣式的輸出你的偏好)。
它不漂亮,但試試這個骯髒的修復:
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);
第二個爲我工作 - 謝謝 – sami 2011-09-23 08:46:30
上面的代碼片段工作在2.3以下的android。不適用於Android 4.0和4.1。 – Sathish 2012-10-25 10:02:56
這不起作用。 – princepiero 2013-09-09 08:10:53
稍微概括:
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);
}
這對我來說工作得很好!感謝分享。 – Mohammad 2015-12-18 19:22:17
我使用這段代碼在我的代碼,但它僅在第一個選項卡影響的其他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);
- 1. 如何更改GridviewColumnHeader的字體大小?
- 2. 如何更改NSTableHeaderCell的字體大小
- 3. 如何更改JMeter的字體大小?
- 4. 如何更改JOptionPane的字體大小
- 5. 安卓:更改TabHost字體大小在Widget.Holo.TabWidget
- 6. 要更改Android默認字體大小
- 7. android webkit更改字體大小?
- 8. 如何更改drupal7文章中的字體和字體大小?
- 9. 如何更改Php Gd中的字體和字體大小?
- 10. 如何在iOS中更改OHAttributedLabel的字體大小和字體大小?
- 11. 如何統一更改字體大小?
- 12. 如何更改Tablayout字體大小
- 13. 如何更改uitextview字體大小
- 14. 如何更改字體大小PreferenceScreen
- 15. 如何更改字體大小,而不更改CSS中按鈕的大小
- 16. 如何在android中打印時更改字體大小?
- 17. 更改Highcharts字體大小
- 18. getOrgChart字體大小更改
- 19. 更改字體大小
- 20. rtf更改字體大小
- 21. 字體大小更改
- 22. NSAttributedString更改字體大小
- 23. 更改字體大小macvim?
- 24. CFDocumentItem - 更改字體大小
- 25. 如何更改.kv中的ListView小部件的字體大小
- 26. 字體和字體大小更改
- 27. 更改Div字體大小和字體
- 28. 更改C中的ContextMenu字體大小#
- 29. 更改Emacs中的字體大小cli
- 30. 更改屏幕中的字體大小
在Android 4.1.2模擬器中,這似乎將選項卡樣式設置爲一些奇怪的看着我:按下時按鈕是橙色的。 (也許它應用一些Android 1.0風格而不是4.1默認的風格) – sydd 2012-12-05 19:05:16
當我把它放在'res'下時出錯了,但是把它放在'res/values'下面。 – Barney 2013-02-26 12:12:56
@sydd你應該派生自Widget.Holo.TabWidget – Roel 2014-11-04 12:12:22