Android rtl viewpager with rtl tablayout

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android rtl viewpager with rtl tablayout相关的知识,希望对你有一定的参考价值。

我知道这个问题可能看似重复但我无法找到解决问题的好方法。我使用带有viewPager的tablayout和fragmentPagerAdapter作为viewpager的适配器。如你所知,viewpager不支持rtl布局,所以我在rtl语言环境中遇到问题。我希望标签从右侧开始(第一个标签粘贴到屏幕右侧),用户可以正确滑动。我怎样才能做到这一点?有帮助吗?

答案

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

1-让我们假设您有4个片段F1,F2,F3和F4,现在您必须反向获取适配器中的所有片段,如此F4,F3,F2和F1,一旦加载片段,则选择片段为= pager.setCurrentItem(Titles.length - 1);

并确保也反转标题。

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

RTL view pager

希望你处理这个

另一答案

最好的解决方案是将viewpager旋转到180:

mViewPager.setRotationY(180); //rotate the viewpager

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

if (textView.getRotationY() != 180) {
    textView.setRotationY(180);
 }

对于PagerTabStrip,您还应该旋转180个可见选项卡:

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 rtl viewpager with rtl tablayout的主要内容,如果未能解决你的问题,请参考以下文章

Android ViewPager2 笔记

更改 viewPager 滑动方向

Android支持RTL(从右向左)语言

为 PDFView 设置 RTL 滚动方向 - Android

我如何为 Android 和 QT 创建者使用 RTL SDR 库?

支持 RTL 语言的 Android Justify 可跨文本视图