我有一个针对 1.5 框架并使用默认浅色主题的应用程序。使用具有此主题的选项卡小部件时,选项卡图像几乎不可见,并且除了当前 Activity 的选项卡外,几乎看不到选项卡标题。
在默认的深色主题中,这些选项卡非常清晰,但这不是我非常满意的解决方案。是否有一个我可以设置的简单设置,设置选项卡小部件以便在浅色主题中获得更好的可见性,或者我是否必须手动篡改图像和文本样式?
最佳答案
它不是很漂亮,但你可以在你的标签 Activity 中试试这个。
// light theme support
final TabHost tabHost = getTabHost();
tabHost.setBackgroundColor(Color.WHITE);
tabHost.getTabWidget().setBackgroundColor(Color.BLACK);
// hack to set font size
LinearLayout ll = (LinearLayout) tabHost.getChildAt(0);
TabWidget tw = (TabWidget) ll.getChildAt(0);
// first tab
RelativeLayout rllf = (RelativeLayout) tw.getChildAt(0);
lf = (TextView) rllf.getChildAt(1);
lf.setTextSize(21);
lf.setPadding(0, 0, 0, 6);
// second tab
RelativeLayout rlrf = (RelativeLayout) tw.getChildAt(1);
rf = (TextView) rlrf.getChildAt(1);
rf.setTextSize(21);
rf.setPadding(0, 0, 0, 6);
/res/values/colors.xml 应该有
<resources>
<drawable name="black">#ff000000</drawable>
<drawable name="white">#ffffffff</drawable>
</resources>
AndroidManiest.xml应该有
<application android:theme="@android:style/Theme.Light">
如果你想做一些更疯狂的事情,试试http://ezmobile.wordpress.com/2009/02/02/customized-android-tabs/
关于Light 主题中的 Android TabWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1906314/