À quoi sert Android: supportsRtl = "true" dans le fichier xml AndroidManifest

89

Chaque fois que j'ai créé un nouveau projet dans Android Studio, j'ai android:supportsRtl="true"dans mon application AndroidManifest File.

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

Qu'est-ce qui est utilisé dans l'application, ou quels sont les avantages et inconvénients lorsque j'ajoute ou non dans mon application AndroidManifest.

pRaNaY
la source
5
Je ne ressens pas cela comme une question en double. Les deux concernent RTL, mais les personnes qui recherchent ces derniers vont différer.
SREE
2
La question à laquelle il est fait référence en tant que duplicata est fausse. Contexte totalement différent pour l'utilisateur qui recherche la question.
Jaydev

Réponses:

85

Déclare si votre application est prête à prendre en charge les mises en page de droite à gauche (RTL). Si la valeur est true et que targetSdkVersion est définie sur 17 ou plus, diverses API RTL seront activées et utilisées par le système afin que votre application puisse afficher les mises en page RTL. Si la valeur est false ou si targetSdkVersion est définie sur 16 ou moins, les API RTL seront ignorées ou n'auront aucun effet et votre application se comportera de la même manière quelle que soit la direction de mise en page associée au choix des paramètres régionaux de l'utilisateur (vos mises en page seront toujours laissées -à droite).

La valeur par défaut de cet attribut est false.

Cet attribut a été ajouté au niveau 17 de l'API.

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

Gex
la source
73

si vous construisez une application en arabe, en ourdou, en hébreu, etc ... ou toute autre langue qui est écrit de droite à gauche , vous devez définir android:supportsRtlpour trueque comment vous dire la mise en page d'être de droite à gauche, et la valeur par défaut cet attribut est faux.

Sarah
la source
14
Mieux que la documentation Google.
CopsOnRoad
1
Merci aux autres réponses, mais ce genre de réponse est plus utile et complète la documentation. Merci @Sarah.
Nicoolasens
salut, mon application ne prend pas en charge la langue arabe mais j'utilise Android: supportsRtl = "true" dans manifest.xml est ce problème?
ozanurkan
3
@ozanurkan - Pas de problème. Cette réponse est fausse / trompeuse. android:supportsRtl="true"permet la prise en charge des langues de droite à gauche. Sans cela, la mise en page sera toujours de gauche à droite, mais en elle-même, elle ne change pas la mise en page pour qu'elle soit de droite à gauche. Il active simplement d'autres attributs - l'un de ces nouveaux attributs contrôle si est de gauche à droite ou de droite à gauche.
OutilleurSteve
10

À partir des guides d'API Android:

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

Déclare si votre application est prête à prendre en charge les mises en page de droite à gauche (RTL).

Si la valeur est true et que targetSdkVersion est définie sur 17 ou plus, diverses API RTL seront activées et utilisées par le système afin que votre application puisse afficher les dispositions RTL. Si la valeur est false ou si targetSdkVersion est définie sur 16 ou moins, les API RTL seront ignorées ou n'auront aucun effet et votre application se comportera de la même manière quelle que soit la direction de mise en page associée au choix des paramètres régionaux de l'utilisateur (vos mises en page seront toujours laissées -à droite).

La valeur par défaut de cet attribut est false.

Cet attribut a été ajouté au niveau 17 de l'API.

wasntme
la source