如何更改标签指示图像的背景?

时间:2013-03-01 03:21:35

标签: android-layout android-widget android-tabhost android-button android-icons

StyleMe's image is style_link

这是一张图片。 我想要这样的tabview图像背景。当它没有被选中时它显示白色图像,当它被选中时它显示绿色图像。

以下是代码:

Resources resources = getResources();
TabHost tabhost = getTabHost();
Intent one = new Intent().setClass(this, StyleMe.class);
TabSpec tb1=tabhost.newTabSpec("One").setIndicator("",resources.getDrawable
(R.drawable.style_link)).setContent(one); 
tabhost.addTab(tb1);

1 个答案:

答案 0 :(得分:0)

更好的解决方案是使用带选择器的背景,因此您不必检查onTabChanged并进行手动更新。:

private void initTabsAppearance(TabWidget tabWidget) {
    // Change background
    for(int i=0; i < tabWidget.getChildCount(); i++)
        tabWidget.getChildAt(i).setBackgroundResource(R.drawable.tab_bg);
}

其中tab_bg是带选择器的xml drawable:

<selector xmlns:android="http://schemas.android.com/apk/res/android">    
    <item android:state_selected="true" android:drawable="@drawable/tab_bg_selected" />
    <item android:drawable="@drawable/tab_bg_normal" />
</selector>

希望这会有所帮助。