我有以这种方式设置标签的文字:
TabSpec tabSpecProfile = tabHost.newTabSpec("Profile").setIndicator("Profile", resources.getDrawable(R.drawable.icon_tab_profile))
.setContent(intentProfile);
此处还有icon_tab_profile.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:drawable="@drawable/profile_tab_selected" />
<item
android:state_selected="false"
android:drawable="@drawable/profile_tab_not_selected" />
</selector>
我看到图片在选项卡选择上正确更改,但文本消失了。在其他选项卡上可以看到文本以及正确的图标。有关如何保留文本的任何线索?在此先感谢您的帮助。
答案 0 :(得分:1)
我已通过设置正确的样式解决了这个问题,请参阅下面的代码:
<强> styles.xml 强>
<style name="AppTheme" parent="@android:style/Theme.Light">
<item name="android:tabWidgetStyle">@style/TabWidget</item>
</style>
<style name="TabWidget" parent="@android:style/Widget.TabWidget">
<item name="android:textAppearance">@style/TextAppearanceTabWidget</item>
<item name="android:ellipsize">marquee</item>
<item name="android:singleLine">true</item>
</style>
<style name="TextAppearanceTabWidget" parent="@android:style/TextAppearance.Widget.TabWidget">
<item name="android:textSize">14sp</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">@color/tab_indicator_text</item>
</style>
创造色彩&#39;文件夹下的&#39; res&#39;并添加此文件,
<强> tab_indicator_text.xml 强>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="@android:color/white"/>
<item android:state_selected="false" android:color="@android:color/black"/>
</selector>
您可以根据您的需要更改颜色,只需为demo设置
希望这会有所帮助。