tablayout上有白色背景的selectableItemBackground?

问题描述 投票:2回答:1

我有一个标签布局

<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"

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

我只是不知道它在白色背景上不起作用的原因是什么?

android user-interface android-xml
1个回答
6
投票

最后,我找到了如何将背景和可选项目放在一起。首先你需要在你的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"/>                   
© www.soinside.com 2019 - 2024. All rights reserved.