最近一个项目适配到android 7.0 上时 在切换语言为阿拉伯语时布局没有自动转为当地方向,而在android 6.0 上是正常的;
使用获取布局方向的方法如下:
public static final boolean ATLEAST_JB_MR1 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1;
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static boolean isRtl(Resources res) {
return ATLEAST_JB_MR1 && (res.getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_RTL);
}
而stackoverflow给出的方法都是行不通的;
最后自己排查 是因为 在工程中国际化目录的问题:
在配置国际化时必须得有当地不同布局方向的目录存在。
具体为什么6.0上是好 而 7.0 有问题 后续分析