首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >TabWidget当前选项卡底线颜色

TabWidget当前选项卡底线颜色
EN

Stack Overflow用户
提问于 2013-02-06 14:06:58
回答 5查看 88.8K关注 0票数 64

我有一个我已经启用并设置了stripLeftstripRight的TabWidget ...

代码语言:javascript
复制
mTabHost.getTabWidget().setStripEnabled(true);
mTabHost.getTabWidget().setRightStripDrawable(R.drawable.redline);
mTabHost.getTabWidget().setLeftStripDrawable(R.drawable.redline);

正如您在下图中所看到的,这不会更改当前所选选项卡(TAB 2)的底线颜色。

如何更改当前选中页签的底线颜色,目前默认为蓝色?(我猜styles.xml中将蓝色设置为默认的AppTheme样式。)

我看了看this答案,但它没有说如何改变颜色…

EN

回答 5

Stack Overflow用户

发布于 2013-08-01 19:05:25

我就是这么换标签的,

代码语言:javascript
复制
private void changetabs(TabWidget tabWidget) {
    // Change background
    for(int i=0; i < tabWidget.getChildCount(); i++)
        tabWidget.getChildAt(i).setBackgroundResource(R.drawable.tab_selector);
}

还有我的tab_selector.xml

代码语言:javascript
复制
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Non focused states -->
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_holo" />
<item android:state_focused="false" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/tab_selected_holo" />

<!-- Focused states -->
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_focused_holo" />
<item android:state_focused="true" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/tab_selected_focused_holo" />

<!-- Pressed -->
<!--    Non focused states -->
<item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_holo" />
<item android:state_focused="false" android:state_selected="true"  android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_holo" />

<!--    Focused states -->
<item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_holo" />
<item android:state_focused="true" android:state_selected="true"  android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_holo" />

希望它能帮助一些人。

票数 12
EN

Stack Overflow用户

发布于 2015-06-23 04:31:55

你可以使用过滤器,

这将应用于不透明的区域

代码语言:javascript
复制
tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).getBackground().setColorFilter(Color.RED, PorterDuff.Mode.MULTIPLY);

一行代码--不需要改变状态。

票数 6
EN

Stack Overflow用户

发布于 2015-10-26 23:55:33

默认情况下,强调色用作活动选项卡颜色。您可以在style.xml文件中设置/更改它:

代码语言:javascript
复制
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">

    <item name="colorAccent">@color/myAccentColor</item>

</style>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14722654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档