我 Android新手 ,在开始编程之前,我发现现在很多应用都使用片段,特别是 标签可滑动视图
如何更改 标签指示符/突出显示颜色 (我用Google搜索并将ActionBar颜色更改为RED编程),但不知道如何将标签指示器颜色更改为红色。 (以编程方式优先)
仍然我的ActionBar看起来像this
我使用以下行来更改ActionBar 的 背景颜色,但我还需要以编程方式更改Tab Indicator的颜色。
actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.RED));
答案 0 :(得分:4)
我使用了Jeff Gilfelt的Android Action Bar Style Generator。您可以使用GUI来设置选项卡的样式,最后您可以获得可以使用的源代码,相应地进行检查和修改。 :)
这是一个链接。
答案 1 :(得分:2)
您可以通过创建自定义标签指示符视图来实现,并使用setIndicator为标签实现不同的不同指标。
答案 2 :(得分:0)
你想链接
setIcon(R.drawable.ic_icon_name_here)
您的标签包含图标
对于要使用自定义样式的标签颜色,有关这些解决方案的更多信息,请查看How do I change the background of an Android tab widget?
答案 3 :(得分:0)
更改选择器颜色的唯一方法是使用样式(我看到“请注意”,顺便说一句)。
在drawable
文件夹中创建 tab_selector.xml
并执行以下操作:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/tab_selected_pink" />
<item android:state_selected="false" android:drawable="@drawable/tab_unselected_white" />
</selector>
然后在你的 values/styles.xml
中,我想做这样的事情:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:actionBarTabBarStyle">@style/MyTabStyle</item>
</style>
<style name="MyTabStyle" parent="android:Widget.ActionBar.TabBar">
<item name="android:background">@drawable/tab_indicator_selector</item>
</style>
第一种风格的item
name attribute
和第二种风格的parent attribute
我可能错了。但共同点看起来就是这样。
正如您所见,这很容易。 如果你想支持不同的屏幕,那么你真正需要做的就是制作9patch drawables。
你也可以看看杰克沃顿的ViewPagerIndicator,这是使用任何导航模式最灵活的方式。
答案 4 :(得分:0)
如果您知道有多少个标签,可以很容易地以编程方式为每个标签或仅几个标签更改图标颜色。
所有您需要做的就是复制用于制表符的现有可绘制文件,为其命名,然后更改其中的颜色。
然后您要做的就是获取每个选项卡,并设置要用作图标的可绘制对象。
tabLayout.setupWithViewPager(pager, true);
tabLayout.getTabAt(0).setIcon(R.drawable.tab_color_grey);
tabLayout.getTabAt(1).setIcon(R.drawable.tab_color_black);
tabLayout.getTabAt(2).setIcon(R.drawable.tab_color_black);
tabLayout.getTabAt(3).setIcon(R.drawable.tab_color_black);
tabLayout.getTabAt(4).setIcon(R.drawable.tab_color_gold);