我已经制作了一个应用程序,我已经对它进行了测试,而且我的手机也没问题。但是......当我把.apk给手机语言为RTL的其他人时,整个布局都破了,搞砸了所有东西。
我的问题是 - 如何强制我的应用仅使用LTR并禁用自动布局更改,这会破坏我的整个应用设计?
答案 0 :(得分:15)
在清单文件和应用程序标记内添加这两行。
<manifest>
<application
.
.
.
android:supportsRtl="false"
tools:replace="android:supportsRtl" //(replace libraries' Rtl support with ours)
>
</application>
</manifest>
注意:(约第二行) 有些库在其清单文件中支持Rtl,因此如果要使用这些库,则必须用它们替换它们的清单代码行。
答案 1 :(得分:9)
Android 4.2为RTL布局添加了完全原生支持。要利用RTL布局镜像,只需对您的应用进行以下更改:
在您的应用清单中声明您的应用支持RTL镜像。
具体来说,将android:supportsRtl="true"
添加到
清单文件中的元素。
将所有应用的“左/右”布局属性更改为新属性
“开始/结束”等价物。如果您将应用定位到Android 4.2
(应用程序的targetSdkVersion或minSdkVersion为17或更高),然后
你应该使用“开始”和“结束”而不是“左”和“右”。对于
例如,android:paddingLeft
应该成为android:paddingStart
。如果
您希望您的应用程序能够使用早于Android 4.2的版本(
app的targetSdkVersion或minSdkVersion是16或更少),然后你
应该添加“开始”和结束“除了”左“和”右“。对于
例如,您同时使用android:paddingLeft
和android:paddingStart
。
为了在LTR和RTL模式下更精确地控制您的应用UI,Android 4.2包含以下新API以帮助管理View组件:
答案 2 :(得分:0)
只需将以下内容添加到清单
android:supportsRtl="false"
tools:replace="android:supportsRtl"