【问题标题】:How can I customize the selected tab indicator in a TabLayout?如何在 TabLayout 中自定义选定的选项卡指示器?
【发布时间】:2015-12-20 09:46:04
【问题描述】:

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

类中没有默认方法,因为您只能实现选项卡的布局自定义。我决定看一下 TabLayout 的source code,但是 1)我在类中找不到标签指示器在绘制时将采用的形状定义的点,以及 2)我不能甚至完全导入课程。 我还希望(如果可能的话)避免使用任何第三方库,因为该项目已经非常繁重了。

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

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

【问题讨论】:

  • 这正是我所需要的

标签: java android android-viewpager android-tablayout android-touch-event


【解决方案1】:

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

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

在此处查看如何为 TabLayout 创建自定义视图:https://stackoverflow.com/a/48258731/4974461

【讨论】:

  • 这是否也支持指标的滑动动画?
猜你喜欢
  • 2017-10-21
  • 2015-12-15
  • 2015-09-28
  • 1970-01-01
  • 2018-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多