我正在使用这个库:https://github.com/astuetz/PagerSlidingTabStrip并且它完美无缺,除了我想要添加另一种阿拉伯语语言,所以我希望标签能够刷RTL并且每个东西都会以相反的顺序。
我尝试将标签的Gravity设置为右边,但它不起作用..我也看到了这个库:https://github.com/dreamlearn/viewpager
但我不知道如何使用它..请提前帮助和感谢
答案 0 :(得分:0)
您需要做的是颠倒片段的顺序
(将它们初始化为ViewPager时)并执行viewPager.setCurrentItem(ViewPagerSize)
。
但是只有当语言环境是RTL时才必须发生,因此你必须使用一种方法来确定它是否正确。
这是代码:
public static boolean isRTL() {
return isRTL(Locale.getDefault());
}
public static boolean isRTL(Locale locale) {
final int directionality = Character.getDirectionality(locale.getDisplayName().charAt(0));
return directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT ||
directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC;
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
if (isRTL()) {
// The view has RTL layout
adapter.addFragment(new S5(), getString(R.string.stage5));
adapter.addFragment(new S4(), getString(R.string.stage4));
adapter.addFragment(new S3(), getString(R.string.stage3));
adapter.addFragment(new S2(), getString(R.string.stage2));
adapter.addFragment(new S1(), getString(R.string.stage1));
} else {
// The view has LTR layout
adapter.addFragment(new S1(), getString(R.string.stage1));
adapter.addFragment(new S2(), getString(R.string.stage2));
adapter.addFragment(new S3(), getString(R.string.stage3));
adapter.addFragment(new S4(), getString(R.string.stage4));
adapter.addFragment(new S5(), getString(R.string.stage5));
}
viewPager.setAdapter(adapter);
}
对于选项卡,您需要将方向设置为LTR(当它的RTL时看起来很乱)。
所以只使用了这段代码(它仅在API 17 +中提供):
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
tabLayout.setLayoutDirection(View.LAYOUT_DIRECTION_LTR);
}
我无法在API 17之前找到一种方法,但您不必将min SDK设置为17 。
答案 1 :(得分:0)
Hurray Android最近添加了名为 ViewPager2的新UI组件,该组件支持RTL布局。
https://developer.android.com/jetpack/androidx/releases/viewpager2
下面的链接讨论了迁移指南和示例应用程序:
https://developer.android.com/training/animation/vp2-migration
https://github.com/android/views-widgets-samples/tree/master/ViewPager2