Disable Material Ripple on Tablayout

2020-06-08 11:21发布

问题:

I am trying to remove the Material Ripple Effect on my TabLayout's Tabs.

I am wondering if it is possible to do this?

Any ideas please?

I have tried setting the stateListAnimator to null but it still does not work

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

回答1:

app:tabBackground does not work in my case.

This is my solution:

tabLayout.setTabRippleColor(null);


回答2:

Add this line to TabLayout in XML: app:tabRippleColor="@null"



回答3:

Try to change the background, for example, use the transparent color of 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" />


回答4:

Clean code

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


回答5:

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


回答6:

Just add @null to the tabRippleColor attribute

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