如何更改選項卡的字體大小?我爲選項卡擴展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. 如何更改JMeter的字體大小?
- 2. 如何更改NSTableHeaderCell的字體大小
- 3. android webkit更改字體大小?
- 4. 如何更改Php Gd中的字體和字體大小?
- 5. 如何更改字體大小,而不更改CSS中按鈕的大小
- 6. 如何更改Tablayout字體大小
- 7. 如何更改字體大小PreferenceScreen
- 8. 如何統一更改字體大小?
- 9. 更改字體大小macvim?
- 10. CFDocumentItem - 更改字體大小
- 11. NSAttributedString更改字體大小
- 12. 更改字體大小
- 13. getOrgChart字體大小更改
- 14. 字體和字體大小更改
- 15. 更改C中的ContextMenu字體大小#
- 16. 更改Emacs中的字體大小cli
- 17. 更改SWT中的字體大小
- 18. 更改ListView中的字體大小
- 19. 更改字體大小而不更改框的大小
- 20. 如何更改標籤的字體(和字體大小)
- 21. 如何更改NSMutableAttributedString的默認字體和字體大小
- 22. 如何更改android通知顏色和字體大小?
- 23. Android:如何從代碼更改應用字體大小
- 24. 如何在不更改按鈕大小的情況下更改按鈕字體大小(在android中)?
- 25. 如何更改ttk :: button(主題小工具)中的字體和字體大小?
- 26. 如何更改JTable中字符串的字體大小?
- 27. 如何更改HTML字符串中的字體大小?
- 28. 如何根據屏幕大小更改字體大小
- 29. 如何更改html中的文本框中的字體大小
- 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