tablayout上有白色背景的selectableItemBackground?

时间:2016-10-23 21:19:13

标签: android user-interface android-xml

我有一个标签布局

<android.support.design.widget.TabLayout
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:animateLayoutChanges="true"
    android:background="@color/background_white" />

为了实现涟漪动画,我必须将背景更改为

android:background="?attr/selectableItemBackground"

它启用了波纹动画,但默认颜色是灰色的,我希望我的背景是白色的自定义颜色,我也试过

android:background="@color/white"
app:tabBackground="?attr/selectableItemBackground"

但是当背景颜色为白色时,它不会出现,

我只是不知道它在白色背景下工作的原因是什么?

1 个答案:

答案 0 :(得分:5)

最后,我找到了如何一起获得背景和可选项目。首先,您需要在styles.xml中声明两种样式,如下所示

<style name="SelectableItemTheme">
    <item name="colorControlHighlight">@color/light_gray</item>
</style>
<style name="SelectableItemBackground">
    <item name="android:theme">@style/SelectableItemTheme</item>
    <item name="android:background">?attr/selectableItemBackground</item>
</style>

然后将它作为样式参数分配给制表符布局并将所需颜色添加到其中,

<android.support.design.widget.TabLayout
   android:id="@+id/tabs"
   android:layout_width="match_parent"
   android:layout_height="60dp"
   android:layout_alignParentStart="true"
   style="@style/SelectableItemBackground"
   android:background="@color/background_login"/>