在Android中更改标签栏选定的标签颜色

时间:2015-12-30 15:31:24

标签: android android-tabhost

我正在使用TabHost标签栏。这是添加选项卡的代码:

// Create  Intents to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, Tab1.class);

spec = tabHost.newTabSpec("First").setIndicator("",getResources().getDrawable(R.drawable.transaction_refno))
              .setContent(intent);

//Add intent to tab
tabHost.addTab(spec);

/************* TAB2 ************/
intent = new Intent().setClass(this, Tab2.class);
spec = tabHost.newTabSpec("Second").setIndicator("",getResources().getDrawable(R.drawable.transaction_refno))
              .setContent(intent);  
tabHost.addTab(spec);

/************* TAB3 ************/
intent = new Intent().setClass(this, Tab3.class);
spec = tabHost.newTabSpec("Third").setIndicator("",getResources().getDrawable(R.drawable.transaction_refno))
              .setContent(intent);
tabHost.addTab(spec);

intent = new Intent().setClass(this, Tab4.class);
spec = tabHost.newTabSpec("Fourth").setIndicator("",getResources().getDrawable(R.drawable.transaction_refno))
              .setContent(intent);
tabHost.addTab(spec);

tabHost.getTabWidget().setLeftStripDrawable(color.black);
tabHost.getTabWidget().setRightStripDrawable(color.black);
tabHost.getTabWidget().setStripEnabled(false);

tabHost.getTabWidget().setCurrentTab(0);
tabHost.getTabWidget().setDividerDrawable(null);

所选标签显示蓝色下划线,我想更改其颜色。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用一个drawable来使用选择器来显示不同的drawable,而不是使用R.drawable.transaction_refno,而不是<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/tab_selected" android:state_selected="true"/> <item android:drawable="@drawable/tab_unselected"/> </selector> 。你可以在你的drawable中写这个:

tab_selected

并为每个设计创建tab_unselectedcontroller drawable。有关如何使用TabHost的详细信息,您可以查看Android docs或查看this walkthrough