java如何在表格布局中自定义所选的选项卡指示器?
我想用一个自定义图标更改TabLayout的所选选项卡指示器,它应该遵循相同的行为(当用户滑向下一个选项卡时,图标会相应地移动)
类中没有默认方法,因为您只能访问选项卡的布局自定义。我决定看一下TabLayout的source code,但1)我在类中找不到选项卡指示器在绘制时所假定的形状定义,2)我甚至无法完全导入该类。 我还希望——如果可能的话——避免使用任何第三方库,因为这个项目已经非常繁重
你有什么建议吗?我可以看到两种可能的方法:
- 找到一种定制TabLayout类的方法,以便 将“方形形状”替换为自定义图标李>
- 想办法 将用户在ViewPager上的触摸手势与 自定义视图(即我的图标)的移动李>
# 1 楼答案
目前我能想到的一个解决方案是,您必须创建一个自定义视图布局文件,该文件表示所需的“选定选项卡”,并在XML文件中将
android:tabStripEnabled="false"
注释到TabLayout
之后,您必须在tablayout实例上注册一个监听器,并检查正在选择哪个索引,然后使用给定的索引调用
TabLayout.getTabAt(i).setCustomView(yourSelectedCustomView)
在这里看一下如何为
TabLayout
:https://stackoverflow.com/a/48258731/4974461创建自定义视图