在安卓系统上禁用自动布局更改
2022-09-01 16:55:26
我做了一个应用程序,我已经测试过了,在我的手机上很好。但。。。当我把.apk给手机语言是RTL的其他人时,整个布局都坏了,它搞砸了一切。
我的问题是 - 如何强制我的应用程序仅使用LTR并禁用自动布局更改,这会破坏我的整个应用程序设计?
我做了一个应用程序,我已经测试过了,在我的手机上很好。但。。。当我把.apk给手机语言是RTL的其他人时,整个布局都坏了,它搞砸了一切。
我的问题是 - 如何强制我的应用程序仅使用LTR并禁用自动布局更改,这会破坏我的整个应用程序设计?
在清单文件和应用程序标记内添加这两行。
<manifest>
<application
.
.
.
android:supportsRtl="false"
tools:replace="android:supportsRtl" //(replace libraries' Rtl support with ours)
>
</application>
</manifest>
注意:(关于第二行)某些库在其清单文件中具有支持 Rtl,因此,如果要使用这些库,则必须将其清单代码行替换为您的代码行。
Android 4.2 添加了对 RTL 布局的完全原生支持。若要利用 RTL 布局镜像,只需对应用进行以下更改:
在应用清单中声明应用支持 RTL 镜像。具体来说,添加到清单文件中的元素。android:supportsRtl="true"
将应用的所有“左/右”布局属性更改为新的“开始/结束”等效项。如果您将应用定位到 Android 4.2(应用的 targetSdkVersion 或 minSdkVersion 为 17 或更高版本),则应使用“开始”和“结束”,而不是“左”和“右”。例如,应变为 。如果您希望您的应用程序适用于Android 4.2之前的版本(该应用程序的targetSdkVersion或minSdkVersion为16或更少),那么除了“左”和“右”之外,您还应该添加“开始”和“结束”。例如,您将同时使用 和 。android:paddingLeft
android:paddingStart
android:paddingLeft
android:paddingStart
为了在 LTR 和 RTL 模式下更精确地控制您的应用 UI,Android 4.2 包含以下新 API 来帮助管理 View 组件: