1

我有一个非常大的问题。我正在尝试做一个简单的应用程序。我在那里使用标签,我真的不知道如何动态更改 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"/>

4

0 回答 0