如何单独设置动作栏标签项的Android选择指示器?

时间:2014-07-29 14:49:29

标签: android android-ui

我有一个带有4个标签条目的操作栏,如下图所示:

enter image description here

我刚刚使用了主题Holo-Dark。 我喜欢使用颜色块/下划线来标​​记所选项目的颜色不同。 因此,当用户选择" Green"选择指示器的颜色也是绿色而不是标准蓝色。 (不是标签背景,黑色很好)

我怎样才能做到这一点?

我目前在活动的onCreate方法中添加了带有此代码的项目:

    for (int i = 0; i < myModel.getTabCount(); i++) {
        actionBar.addTab(
                actionBar.newTab()
                        .setText(myModel.getPageTitle(this, i))
                        .setTabListener(this)
        );
    }

我查找了课程Actionbar.Tab的文档,但没有发现任何有用的内容。

3 个答案:

答案 0 :(得分:2)

DevByte做了一个很棒的教程:

http://www.youtube.com/watch?v=tRg_eDfQ8fk

说明中还有一个示例代码链接

答案 1 :(得分:1)

您需要为不同的标签设置不同的背景绘图。你可以在每种颜色上制作一个Nine-Patch drawable,模仿标签的粗下划线。在您的代码中,您必须为每个选项卡

  1. 充气自定义视图
  2. 在该视图上致电setBackgroundResource()
  3. 创建一个标签并在其上调用setCustomView()

答案 2 :(得分:1)

您可以通过在创建选项卡时设置自定义视图来执行此操作。它将类似于

final Tab firstTab = actionBar.newTab()
                          .setText(mAppSectionsPagerAdapter.getPageTitle(0))
                          .setCustomView(R.id.custom_tab_view_red);
final Tab secondTab = actionBar.newTab()
                           .setText(mAppSectionsPagerAdapter.getPageTitle(1))
                           .setCustomView(R.id.custom_tab_view_blue);

//等

检查this问题..它有一些有用的信息