Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在表格布局中自定义选定的选项卡指示器?_Java_Android_Android Viewpager_Android Tablayout_Android Touch Event - Fatal编程技术网

Java 如何在表格布局中自定义选定的选项卡指示器?

Java 如何在表格布局中自定义选定的选项卡指示器?,java,android,android-viewpager,android-tablayout,android-touch-event,Java,Android,Android Viewpager,Android Tablayout,Android Touch Event,我想更改带有自定义图标的TabLayout的所选选项卡指示器,该指示器应遵循相同的行为(当用户滑向下一个选项卡时,图标相应地移动) 类中没有默认方法,因为您只能访问选项卡的布局自定义。我决定查看一下TabLayout,但是1)我在类中找不到选项卡指示器在绘制时将采用的形状定义,2)我甚至无法完全导入类。 如果可能的话,我还想避免使用任何第三方库,因为这个项目已经非常繁重 你有什么建议吗?我可以看到两种可能的方法: 找到自定义TabLayout类的方法,以便 将“方形形状”替换为自定义图标 想办法

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

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

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

  • 找到自定义TabLayout类的方法,以便 将“方形形状”替换为自定义图标
  • 想办法 将用户在ViewPager上的触摸手势与 自定义视图(即我的图标)的移动

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

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


    在这里看一下如何为
    表格布局创建自定义视图

    这正是我所需要的。这是否也支持指示器滑动运动的动画?