我正在尝试在我的应用程序(特别是阿拉伯语)中添加RTL语言支持,我也会支持英语。我做了什么
>将minSdkVersion设置为17
>在AndroidManifest.xml中添加了android:supportsRtl =“true”到我的应用程序标签
>将我的左/右属性切换为开始/结束
起初我手动进行了这些更改,然后我使用Android Studio的“Refactor – >添加RTL支持可能的…”菜单项。
当我预览我的布局文件,我可以看到RTL预览正确地镜像了UI。即使我使用“强制RTL布局方向”,我的应用程序也不显示RTL布局。系统UI被翻转,所以该选项一般工作。
还有什么我需要做的来展示RTL布局?我希望我错过了一些明显的事情。我正在API 21模拟器上进行测试。
更新
我继承了一些这个代码。某些设置可能会覆盖设置并将其强制为LTR模式。我做了一个测试应用程序来测试RTL模式,它工作正常。什么样的代码可能会导致“强制RTL布局方向”设置被忽略(或被覆盖)?
更新2
我已经检查了正确设置的区域设置。我也检查了配置,并设置了ldrtl。我在签名的apk文件中验证了android:supportsRtl,并且没有一个布局文件有android:layoutDirection =“ltr”。我甚至尝试手动放置android:layoutDirection =“rtl”来尝试强制布局镜像,但这不工作。
更新3
我向项目添加了另一个活动,使其成为启动器活动,并确保它没有连接到任何现有的代码。它是Activity的一个子类。问题依然存在。所以理论上这是一个配置问题。就像我说的那样,我检查了AndroidManifest.xml文件和生成的所有布局文件,RTL支持和布局更改都会进行更改。配置可能会出现什么问题?