Android TabLayout:选中Tab时禁用动画及点击短暂灰色效果的方法
Android TabLayout 两个问题的解决方案
1. 禁用Tab选中时的动画效果
针对Tab选中时的波纹动画和指示器切换动画,分别处理:
- 禁用选中波纹动画
在XML布局的TabLayout中添加属性:
或者在代码中设置:app:tabRippleColor="@null"tabLayout.tabRippleColor = null - 禁用指示器切换动画
如果需要取消Tab切换时指示器的滑动过渡动画,设置动画时长为0:
代码中设置:app:tabIndicatorAnimationDuration="0"tabLayout.tabIndicatorAnimationDuration = 0
2. 禁用点击Tab时的短暂灰色效果
点击时的灰色效果是默认的按压反馈,可通过以下方式去除:
- 直接禁用波纹反馈
同样使用tabRippleColor="@null"属性,不管是XML还是代码设置,都能去掉点击时的灰色波纹。 - 自定义Tab背景(备用方案)
如果波纹设置无效,可创建一个无按压状态的背景drawable(如res/drawable/tab_background.xml):
然后给TabLayout设置该背景:<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:color/transparent" android:state_selected="true"/> <item android:drawable="@android:color/transparent"/> </selector>app:tabBackground="@drawable/tab_background"
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

