android:将Tab的单击颜色设置为TableRow的背景颜色

时间:2011-05-20 10:17:35

标签: android tabs

我有一个TabLayout。在那里我有一个动态添加行的tablelayout。 选择/单击TableRow时,我想将其背景颜色设置为Tab的按下或单击颜色。

我不想设置任何静态颜色,但想要使用默认主题颜色。如何获取Tablayout的颜色信息?

如何处理标签的左侧和右侧?这是我得到的并且在将tab_background.xml设置为所有选项卡的backgroundRsourse之后: Tab bg settings

在左侧,两个图像都没有任何设置,但左右角是平滑的。 在右侧,两个图像都带有setings,看到所选标签的角落只是一个正方形,它们应该圆整或像没有任何设置的那些一样。 看来我必须使用tab_selected_bar_right和tab_selected_bar_left。我已将它们复制到我的drawable中,但无法弄清楚如何使用它们。在@mudit提供的下面的xml中提供什么设置。

请指导我。任何帮助都非常感谢。我赶时间。

由于

2 个答案:

答案 0 :(得分:5)

在java文件中添加选项卡后添加此代码:

(我只添加了2个标签,如果您有更多标签,可以添加此标签)

TabWidget tw = getTabWidget();

View tab1View = tw.getChildAt(0);
tab1View.setBackgroundResource(R.drawable.tab_background);

View tab2View = tw.getChildAt(1);
tab2View.setBackgroundResource(R.drawable.tab_background);

代码tab_background.xml:

(把它放在可绘制的文件夹中)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_focused="false" android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/tab_bg" />

    <item android:state_focused="false" android:state_selected="true"
        android:state_pressed="false" android:drawable="@drawable/tab_selected" />

    <item android:state_focused="true" android:state_selected="false"
        android:state_pressed="false"
        android:drawable="@drawable/tab_bg" />

    <item android:state_focused="true" android:state_selected="true"
        android:state_pressed="false" android:drawable="@drawable/tab_selected" />

    <item android:state_pressed="true"
        android:drawable="@drawable/tab_selected" />
</selector> 

答案 1 :(得分:0)

我解决了这个问题。我道歉,因为我之前没有提到它。对不起,我错过了。 @Yugandhar,感谢您的关注。