Android rtl viewpager with rtl tablayout

问题描述 投票:0回答:2

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

android android-viewpager android-tablayout
2个回答
0
投票

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

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

并确保也反转标题。

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

RTL view pager

希望你处理这个


2
投票

最好的解决方案是将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语言环境。

© www.soinside.com 2019 - 2024. All rights reserved.