在 Android 中更改选项卡栏选定的选项卡颜色

Change Tab bar selected tab colour in Android

我正在使用 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);

所选选项卡显示蓝色下划线,我想更改其颜色。我该怎么做?

除了使用 R.drawable.transaction_refno,您还可以使用使用选择器的可绘制对象来根据状态显示不同的可绘制对象。你可以在你的 drawable 中写这个:

<?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>

并为每个设计创建 tab_selectedtab_unselected 绘图。有关如何使用 TabHost 的更多信息,您可以查看 Android docs or check this walkthrough.