100

每当我在 android studio 中创建新项目时,我都会进入android:supportsRtl="true"我的应用程序 AndroidManifest 文件。

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
...
</application>

在应用程序中使用什么,或者当我在我的应用程序中添加或不添加 AndroidManifest 时有什么优点和缺点。

4

4 回答 4

92

声明您的应用程序是否愿意支持从右到左 (RTL) 布局。如果设置为 true 并且 targetSdkVersion 设置为 17 或更高,系统将激活和使用各种 RTL API,以便您的应用程序可以显示 RTL 布局。如果设置为 false 或 targetSdkVersion 设置为 16 或更低,则 RTL API 将被忽略或不起作用,并且无论与用户的区域设置相关联的布局方向如何,您的应用程序都将表现相同(您的布局将始终保留-向右)。

此属性的默认值为 false。

此属性是在 API 级别 17 中添加的。

(来源:http: //developer.android.com/guide/topics/manifest/application-element.html

于 2015-12-09T12:54:30.850 回答
80

如果您正在使用阿拉伯语、乌尔都语、希伯来语等...或任何从右到左书写的语言构建应用程序,您应该设置android:supportsRtltrue,这就是您告诉布局从右到左的方式,默认值为此属性为假。

于 2015-12-09T13:00:12.463 回答
10

来自 Android API 指南:

(developer.android.com/guide/topics/manifest/application-element.html)

声明您的应用程序是否愿意支持从右到左 (RTL) 布局。

如果设置为 true 并且 targetSdkVersion 设置为 17 或更高,系统将激活和使用各种 RTL API,以便您的应用程序可以显示 RTL 布局。如果设置为 false 或 targetSdkVersion 设置为 16 或更低,则 RTL API 将被忽略或不起作用,并且无论与用户的区域设置相关联的布局方向如何,您的应用程序都将表现相同(您的布局将始终保留-向右)。

此属性的默认值为 false。

此属性是在 API 级别 17 中添加的。

于 2015-12-09T12:56:01.877 回答
0

如果您开发支持RTL layouts(布局镜像)的应用程序,您应该注意两件事

  1. 在 AndroidManifest.xml 中声明支持 RTL 镜像
<application
    android:supportsRtl="true">
</application>
  1. 使用start/end代替/除了left/right
android:margineLeft
android:margineStart
于 2021-05-31T15:07:54.773 回答