3

我想使用自定义图标更改 TabLayout 的选定选项卡指示器,该图标应遵循相同的行为(当用户滑向下一个选项卡时,图标会相应移动)。

类中没有默认方法,因为您只能访问选项卡的布局自定义。我决定看一下 TabLayout 的源代码,但是 1)我在类中找不到标签指示器在绘制时将采用的形状定义的点,以及 2)我什至不能完全导入类。我还想——如果可能的话——避免使用任何第三方库,因为这个项目已经很重了。

你有什么建议吗?我可以看到两种可能的方法:

  1. 找到一种自定义 TabLayout 类的方法,以便用自定义图标替换“方形”。
  2. 找到一种方法来协调用户在 ViewPager 上的触摸手势与自定义视图(即我的图标)的移动。
4

1 回答 1

0

目前我能想到的一种解决方案是,您必须创建一个自定义视图布局文件,该文件代表您所需的“选定选项卡”并在 XML 文件中注释android:tabStripEnabled="false"您的。TabLayout

之后,您必须在 tablayout 实例上注册一个侦听器,并检查正在选择哪个索引,并使用给定的索引调用TabLayout.getTabAt(i).setCustomView(yourSelectedCustomView).

在此处查看如何为以下内容创建自定义视图TabLayouthttps ://stackoverflow.com/a/48258731/4974461

于 2018-11-22T10:44:32.603 回答