写在前面:本文仅个人开发时遇到的问题及个人解决办法的记录。
项目编译版本:buildToolsVersion:"30.0.1"
在新项目中使用com.google.android.material.tabs包下的TabLayout的时候,点击每个tab的时候会自带系统的水波纹效果,看起来很难看,然后想要禁用这个效果,经过百度和Google,很多都是使用如下方式:
app:tabBackground="@android:color/transparent"
app:tabRippleColor="@android:color/transparent"
把这两句代码放在布局文件中,但是在使用的时候发现,这个并不能禁用掉自带的水波纹效果,查看了它的源码之后,发现在AndroidX下的TabLayout不再通过布局文件中的属性设置来控制水波纹效果。通过查看源码中的方法介绍。发现使用下面这个函数可以禁用或设置其他水波纹效果:
tabLayout.setTabRippleColorResource(R.color.trans);
可以禁用掉点击的水波纹效果。
注:测试效果在华为手机上测试的,没有其他手机,不知道其他手机上使用上面在布局文件中添加的方法是否有效。