禁用Tablayout上的材质波纹

时间:2016-01-04 06:31:42

标签: android android-styles

我正在尝试删除TabLayout选项卡上的Material Ripple效果。

我想知道是否可以这样做?

有什么想法吗?

我已经尝试将stateListAnimator设置为null但它仍然不起作用

    <android.support.design.widget.TabLayout
        android:id="@+id/tabLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stateListAnimator="@null"/>

6 个答案:

答案 0 :(得分:15)

app:tabBackground 在我的情况下不起作用。

这是我的解决方案:

tabLayout.setTabRippleColor(null);

答案 1 :(得分:13)

尝试更改背景,例如,使用android的透明色。

 <android.support.design.widget.TabLayout
    android:layout_width="match_parent"
    android:layout_below="@id/toolbar"
    android:layout_height="70dip"
    app:tabBackground = "@android:color/transparent"
    app:tabMode="fixed" />

答案 2 :(得分:5)

将此行添加到XML的TabLayout中: app:tabRippleColor="@null"

答案 3 :(得分:1)

添加app:tabRippleColor

<com.google.android.material.tabs.TabLayout
     android:id="@+id/tabs"
     android:layout_width="match_parent"
     android:layout_height="48dp"
     app:tabRippleColor="@android:color/transparent"
     app:tabIndicatorColor="@android:color/transparent" />

答案 4 :(得分:1)

只需将@null添加到tabRippleColor属性

 <com.google.android.material.tabs.TabLayout
            android:id="@+id/tabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabRippleColor="@null" />  -> here

答案 5 :(得分:0)

清洁代码

tabLayout.setTabRippleColorResource(android.R.color.transparent);