带rtl表格布局的Android rtl viewpager

带rtl表格布局的Android rtl viewpager,android,android-viewpager,android-tablayout,Android,Android Viewpager,Android Tablayout,我知道这个问题可能重复,但我找不到解决问题的好办法。我正在使用带有fragmentPagerAdapter的viewpager的表格布局作为viewpager的适配器。正如您所知,viewpager不支持rtl布局,因此我在rtl区域设置中遇到了问题。我想从右侧开始创建选项卡(第一个选项卡粘贴到屏幕右侧),用户可以正确刷卡。我该怎么做?有什么帮助吗 我以前遇到过这种情况,有两种解决方案 1-假设您有4个片段F1、F2、F3和F4,现在您必须以与此F4、F3、F2和F1相反的方式获取适配器中的所有

我知道这个问题可能重复,但我找不到解决问题的好办法。我正在使用带有fragmentPagerAdapter的viewpager的表格布局作为viewpager的适配器。正如您所知,viewpager不支持rtl布局,因此我在rtl区域设置中遇到了问题。我想从右侧开始创建选项卡(第一个选项卡粘贴到屏幕右侧),用户可以正确刷卡。我该怎么做?有什么帮助吗

我以前遇到过这种情况,有两种解决方案

1-假设您有4个片段F1、F2、F3和F4,现在您必须以与此F4、F3、F2和F1相反的方式获取适配器中的所有片段,加载片段集后,选择片段为=pager.setCurrentItem(Titles.length-1)

而且一定要把标题也颠倒过来

第二种解决方案是使用自定义视图寻呼机,如


希望您能够处理此问题,最好的解决方案是将viewpager旋转到180:

mviewpage.setRotationY(180)//旋转viewpager

然后,旋转包含tablayout选项卡内容的内部视图(以反转对内容的影响)。textview示例:

if (textView.getRotationY() != 180) {
    textView.setRotationY(180);
 }
对于PagerTabStrip,还应旋转3个可见选项卡:

PagerTabStrip pt= container.findViewById(R.id.pager_tab_strip);
 pt.getChildAt(0).setRotationY(180);
 pt.getChildAt(1).setRotationY(180);
 pt.getChildAt(2).setRotationY(180);
这在阿拉伯语应用程序中对我很有用。它应该也适用于任何rtl语言环境。

好消息,伙计们:)。Android最近添加了一个名为ViewPager2的新UI组件

请查看以下代码和链接:

dependencies {
    implementation "androidx.viewpager2:viewpager2:1.0.0"
}
对以前的ViewPager实施的改进:

  • RTL(从右到左)布局支持
  • 垂直定向支架
  • 可靠的片段支持(包括处理对底层片段集合的更改)
  • 数据集更改动画(包括DiffUtil支持)
下面的链接解释了从ViewPager到ViewPager2的迁移指南:

我们还有演示示例:


第一个解决方案的问题是,我想在rtl语言环境中从右侧开始创建选项卡,但使用此解决方案时,选项卡从末尾开始,第一个选项卡从左侧第四个,而第二个解决方案的问题是,我无法将fragmentPagerAdapter与此自定义viewpagersrotationY=180在android Pie(级别28)中创建滑动错误@do01为什么?你为安卓P做了什么?@RushiMThakker是的,它不允许正常滑动:(在安卓P中,在滑动浏览页面时有一个混蛋。有人对此有解决方案吗?那么你找到了Pie的解决方案吗?