Android ActionBar选项卡颜色

use*_*844 24 android

我已将ActionBar选项卡添加到我的应用程序中.该下划线的默认颜色为浅蓝色.如何更改所选标签的颜色或样式?

tho*_*dao 98

对于任何想要在代码中更改操作栏颜色/背景的人,您可以执行类似的操作

final ActionBar actionBar = getActionBar();
actionBar.setBackgroundDrawable(getResources().getDrawable(R.drawable.action_bar_bg));
Run Code Online (Sandbox Code Playgroud)

要更改操作栏下的标签栏颜色:

actionBar.setStackedBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.color_brown_dark)));
Run Code Online (Sandbox Code Playgroud)

要更改标签栏背景:

actionBar.setStackedBackgroundDrawable(getResources().getDrawable(
            R.drawable.coupon_header));
Run Code Online (Sandbox Code Playgroud)

  • 这些答案都没有真正回答这个问题.OP已询问如何更改操作栏选项卡的下划线颜色.第一个代码示例更改了选项卡上方显示的操作栏背景颜色.第二个和第三个示例都调用相同的方法来更改整个选项卡背景颜色.这些方法都没有实际改变浅蓝色标签下划线. (23认同)
  • 这是Tab背景颜色动态设置的方式.这个答案值得更多的赞成...... (4认同)

Dor*_*ori 11

这可能会给一些线索Action Bar Style Gen


Ter*_*nce 10

selectableItemBackground是我认为你寻找的属性.我建议你阅读这篇关于自定义Action Bar的文章,以及在SO这个问题上查看这个问题.

在代码中我似乎无法找到一种方法来自定义所选的单个项目,但是,自定义栏本身看起来像这样.

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable("FF0000"));
Run Code Online (Sandbox Code Playgroud)


Vin*_*shi 7

ActionBar bar = getActionBar();

bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

// set background for action bar
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0c2354")));

// set background for action bar tab
bar.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#B5C0D0")));       

bar.show();
Run Code Online (Sandbox Code Playgroud)