选项卡布局滑动方向

Tab layout swipe direction

能否通过代码改变TabLayout中Tabs的滑动方向?

当我的设备语言是英语时它工作正常,但是当我将它更改为阿拉伯语时,很多选项卡消失并且滑动的方向仍然相同(向右)。 注意:在 Manifest 文件中支持 RTL 选项是 "true"。

您面临的实际问题是 ViewPager 仍然不支持 RTL。

这是 well-known 并且非常老的问题 - 您可以在 Google 的问题跟踪器中找到它: ViewPager RTL swipe direction

到目前为止,我还没有看到任何RLT实施成功的例子。例如,还有一个来自 Booking.com, but it doesn't work with TabLayout。我建议深入研究并尝试解决那里的问题,而不是从头开始编写它。

UPD: 我分叉了 Booking 的 RtlViewPager 并将其修复为 TabLayout 的。 Feel free to try it!

This issue is well known 并且没有预计修复时间。

您可以轻松更改layoutDirection。我也有这个问题并通过以下方式解决:

tabLayout.setLayoutDirection(View.LAYOUT_DIRECTION_LTR);

试试吧!

您需要执行两个简单的步骤:

  1. 更改视图分页器的旋转,

    viewpager.setRotationY(180);
    
  2. 然后再次改变fragment容器的方向即viewpager的child,

    recyclerView.setRotationY(180);
    

使用此代码tabLayout.setTabMode(TabLayout.MODE_FIXED);