AndroidManifest xml文件中android:supportsRtl =“ true”的用法


89

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

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

应用程序中有什么用途,或者我在应用程序AndroidManifest中添加或不添加时的优缺点是什么?


5
我不认为这是一个重复的问题。两者都是关于RTL的,但是搜索这些的人会推迟。
SREE

2
被称为重复项的问题是错误的。用户搜索问题的上下文完全不同。
Jaydev

Answers:


85

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


73

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


14
比Google文档更好。
CopsOnRoad

1
多亏了其他答复,但是这种答复更有用并完善了文档。谢谢@萨拉。
Nicoolasens

嗨,我的应用程序不支持阿拉伯语,但是我在manifest.xml中使用android:supportsRtl =“ true”是这个问题吗?
ozanurkan

3
@ozanurkan-没问题。这个答案是错误的/误导的。 android:supportsRtl="true"能够支持从右到左的语言。没有这个,布局将始终是从左到右的,但是本身而言,它不会将布局更改为从右到左。它仅启用其他属性-这些新属性之一控制是从左到右还是从右到左。
ToolmakerSteve

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中添加的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.