What is use of android:supportsRtl="true" in AndroidManifest xml file
Asked Answered
M

4

106

Whenever I created new project in android studio, I got android:supportsRtl="true" in my app AndroidManifest File.

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

What is use in app, or what is advantages & disadvantage when I add or not add in my app AndroidManifest .

Monosyllable answered 9/12, 2015 at 12:45 Comment(3)
I don't feel this as a duplicate question. Both are regarding RTL, but people who search for these will defer.Underpinning
The question to which this is referenced as duplicate is wrong. Totally different context for user searching the question.Mindymine
TLDR android.jlelse.eu/…Glaucous
T
96

Declares whether your application is willing to support right-to-left (RTL) layouts. If set to true and targetSdkVersion is set to 17 or higher, various RTL APIs will be activated and used by the system so your app can display RTL layouts. If set to false or if targetSdkVersion is set to 16 or lower, the RTL APIs will be ignored or will have no effect and your app will behave the same regardless of the layout direction associated to the user's Locale choice (your layouts will always be left-to-right).

The default value of this attribute is false.

This attribute was added in API level 17.

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

Tallow answered 9/12, 2015 at 12:54 Comment(0)
E
90

if you are building an app in Arabic, Urdu, Hebrew, etc... or any language that is written from right to left you should set android:supportsRtl to true, that's how you tell the layout to be from right to left, and The default value of this attribute is false.

Eulaheulalee answered 9/12, 2015 at 13:0 Comment(4)
Better than Google documentation.Fredra
Thanks to the other responses, but this kind of response is more usefull and complete the documentation. Thank you @Sarah.Reprieve
hi, my app isn't support arabic language but i am using android:supportsRtl="true" in manifest.xml is this problem ?Ancylostomiasis
@Ancylostomiasis - Not a problem. This answer is wrong/misleading. android:supportsRtl="true" enables support for right-to-left languages. Without this, layout will always be left-to-right, However by itself it does not change the layout to be from right to left. It simply enables other attributes - one of those new attributes controls whether is left-to-right or right-to-left.Millhon
A
10

From Android API-Guides:

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

Declares whether your application is willing to support right-to-left (RTL) layouts.

If set to true and targetSdkVersion is set to 17 or higher, various RTL APIs will be activated and used by the system so your app can display RTL layouts. If set to false or if targetSdkVersion is set to 16 or lower, the RTL APIs will be ignored or will have no effect and your app will behave the same regardless of the layout direction associated to the user's Locale choice (your layouts will always be left-to-right).

The default value of this attribute is false.

This attribute was added in API level 17.

Alliteration answered 9/12, 2015 at 12:56 Comment(0)
A
0

If you develop application which supports RTL layouts(layout mirroring) you should tace care of two things

  1. Declare supporting RTL mirroring in AndroidManifest.xml
<application
    android:supportsRtl="true">
</application>
  1. Use start/end instead/in addition to left/right
android:margineLeft
android:margineStart
Autonomous answered 31/5, 2021 at 15:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.