Was ist die Verwendung von Android: unterstütztRtl = "true" in AndroidManifest XML-Datei


87

Immer wenn ich ein neues Projekt in Android Studio erstellt habe, habe ich android:supportsRtl="true"in meiner 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>

Was wird in der App verwendet oder was sind Vor- und Nachteile, wenn ich in meiner App AndroidManifest hinzufüge oder nicht.


5
Ich empfinde dies nicht als doppelte Frage. Beide betreffen RTL, aber Leute, die nach diesen suchen, werden aufschieben.
SREE

2
Die Frage, auf die dies als Duplikat verwiesen wird, ist falsch. Völlig anderer Kontext für Benutzer, die die Frage suchen.
Jaydev

Antworten:


85

Gibt an, ob Ihre Anwendung bereit ist, RTL-Layouts (von rechts nach links) zu unterstützen. Wenn true und targetSdkVersion auf 17 oder höher festgelegt ist, werden verschiedene RTL-APIs aktiviert und vom System verwendet, damit Ihre App RTL-Layouts anzeigen kann. Wenn false oder targetSdkVersion auf 16 oder niedriger festgelegt ist, werden die RTL-APIs ignoriert oder haben keine Auswirkung, und Ihre App verhält sich unabhängig von der Layoutrichtung, die der Auswahl des Gebietsschemas des Benutzers zugeordnet ist, gleich (Ihre Layouts bleiben immer erhalten) -nach rechts).

Der Standardwert dieses Attributs ist false.

Dieses Attribut wurde in API-Ebene 17 hinzugefügt.

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


71

Wenn Sie eine App auf Arabisch bauen, Urdu, Hebräisch, etc ... oder jede Sprache , die von rechts nach links geschrieben wird Sie setzen sollten android:supportsRtlzu true, das ist , wie Sie das Layout erzählen von rechts nach links zu, und der Standardwert von Dieses Attribut ist falsch.


13
Besser als die Google-Dokumentation.
CopsOnRoad

1
Dank der anderen Antworten ist diese Art der Antwort jedoch nützlicher und vervollständigt die Dokumentation. Danke @Sarah.
Nicoolasens

Hallo, meine App unterstützt keine arabische Sprache, aber ich verwende Android: supportRtl = "true" in manifest.xml ist dieses Problem?
Ozanurkan

2
@ozanurkan - Kein Problem. Diese Antwort ist falsch / irreführend. android:supportsRtl="true"Aktiviert die Unterstützung für Sprachen von rechts nach links. Ohne dieses Layout wird immer von links nach rechts werden, aber selbst er nicht dem Layout ändern von rechts nach links zu. Es werden einfach andere Attribute aktiviert - eines dieser neuen Attribute steuert, ob von links nach rechts oder von rechts nach links.
ToolmakerSteve

10

Von Android API-Guides:

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

Gibt an, ob Ihre Anwendung bereit ist, RTL-Layouts (von rechts nach links) zu unterstützen.

Wenn true und targetSdkVersion auf 17 oder höher festgelegt ist, werden verschiedene RTL-APIs aktiviert und vom System verwendet, damit Ihre App RTL-Layouts anzeigen kann. Wenn false oder targetSdkVersion auf 16 oder niedriger festgelegt ist, werden die RTL-APIs ignoriert oder haben keine Auswirkung, und Ihre App verhält sich unabhängig von der Layoutrichtung, die der Auswahl des Gebietsschemas des Benutzers zugeordnet ist, gleich (Ihre Layouts bleiben immer erhalten) -nach rechts).

Der Standardwert dieses Attributs ist false.

Dieses Attribut wurde in API-Ebene 17 hinzugefügt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.