AndroidManifest xml文件中android:supportsRtl =“true”的用途是什么?

时间:2015-12-09 12:45:37

标签: android android-studio android-manifest android-applicationinfo

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

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

什么在app中使用,或者什么是优点&amp;我在我的应用AndroidManifest中添加或不添加时的缺点。

4 个答案:

答案 0 :(得分:70)

  

声明您的应用程序是否愿意支持从右到左   (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

答案 1 :(得分:60)

如果您正在使用阿拉伯语,乌尔都语,希伯来语等构建应用程序...或者从右到左书写的任何语言,您应该将android:supportsRtl设置为true,这就是&#39}如何告诉布局从右到左,并且该属性的默认值为false。

答案 2 :(得分:9)

来自Android API指南:

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

  

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

     

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

     

此属性的默认值为false。

     

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

答案 3 :(得分:0)

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

  1. 在 AndroidManifest.xml 中声明支持 RTL 镜像
<application
    android:supportsRtl="true">
</application>
  1. 使用 start/end 代替/除了 left/right
android:margineLeft
android:margineStart