我有一个非常大的问题。我正在尝试做一个简单的应用程序。我在那里使用标签,我真的不知道如何动态更改 tabWidget 中的文本颜色。
如何更改我的 xml 或 java 代码以使文本动态更改?
这就是我在java代码中所拥有的:
TabHost tabHost = (TabHost) findViewById(R.id.tabhost);
tabHost.setup();
TabHost.TabSpec tabSpec = tabHost.newTabSpec("creator");
tabSpec.setContent(R.id.Card);
tabSpec.setIndicator("Debit Card");
tabHost.addTab(tabSpec);
tabSpec = tabHost.newTabSpec("account");
tabSpec.setContent(R.id.Account);
tabSpec.setIndicator("Checking Account");
tabHost.addTab(tabSpec);
那是我的 xml 文件:
背景选择器 - tab_bg.xml:
<item android:state_selected="true" android:drawable="@drawable/tab_bg_selected"></item>
<item android:state_pressed="true" android:drawable="@drawable/tab_bg_selected"></item>
<item android:state_active="true" android:drawable="@drawable/tab_bg_selected"></item>
<item android:state_selected="false" android:drawable="@drawable/tab_bg_unselected"></item>
<item android:state_pressed="false" android:drawable="@drawable/tab_bg_unselected"></item>
<item android:state_active="false" android:drawable="@drawable/tab_bg_unselected"></item>
tab_bg_selected.xml:
android:shape="rectangle">
<solid android:color="@color/white"/>
<corners android:bottomLeftRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"
android:bottomRightRadius="5dp"/>
<stroke android:color="@color/blue"
android:width="2dp"/>
</shape>
和 tab_bg_unselected.xml:
android:shape="rectangle">
<solid android:color="@color/blue"/>
<corners android:bottomLeftRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp"
android:bottomRightRadius="5dp"/>
<stroke android:color="@color/blue"
android:width="2dp"/>