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

AndroidAndroid StudioAndroid ManifestAndroid Applicationinfo

Android Problem Overview


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 .

Android Solutions


Solution 1 - Android

> 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)

Solution 2 - Android

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.

Solution 3 - Android

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.

Solution 4 - Android

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionpRaNaYView Question on Stackoverflow
Solution 1 - AndroidGexView Answer on Stackoverflow
Solution 2 - AndroidSarahView Answer on Stackoverflow
Solution 3 - AndroidwasntmeView Answer on Stackoverflow
Solution 4 - AndroidyoAlex5View Answer on Stackoverflow