我正在使用ViewPager实现屏幕滑动,对于从左到右的语言脚本它能正常工作,但对于从右到左的阿拉伯语脚本不可行。
我能否以相反的顺序滑动ViewPager页面?
我正在使用ViewPager实现屏幕滑动,对于从左到右的语言脚本它能正常工作,但对于从右到左的阿拉伯语脚本不可行。
我能否以相反的顺序滑动ViewPager页面?
试试这个:
viewPager.setCurrentItem(ViewPagerSize);
这将使用户向右滑动到左侧。
在本文发布时,ViewPager仍无法正确处理RTL。在使用TabLayout时,以下是一个解决方法:
android:layoutDirection="ltr"
in the TabLaout XML, so it will
always display left-to-right. Before you call setupWithViewPager(viewPager)
, check if running in RTL, and if so, reverse the order of the tabs, and start with the last tab:
if (MyApp.isRTL()) {
Collections.reverse(pgAdapter.fragmentList);
viewPager.setCurrentItem(pgAdapter.getCount() - 1);
}
可以使用以下代码来检查RTL:
public static boolean isRTL() {
final int directionality = Character.getDirectionality(
Locale.getDefault().getDisplayName().charAt(0));
return directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT ||
directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC;
}
尝试这个,但不够专业
在xml中为VeiwPager编写以下内容:
android:rotationY="180"
并且在veiw_item中也要加上
android:rotationY="180"
..