A cosa serve Android: supportsRtl = "true" nel file XML AndroidManifest


89

Ogni volta che ho creato un nuovo progetto in Android Studio, ho ottenuto android:supportsRtl="true"nella mia 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>

Cosa viene utilizzato nell'app o quali sono i vantaggi e lo svantaggio quando aggiungo o non aggiungo AndroidManifest nella mia app.


5
Non la sento come una domanda duplicata. Entrambi riguardano RTL, ma le persone che li cercano rimandano.
SREE

2
La domanda a cui si fa riferimento come duplicato è sbagliata. Contesto completamente diverso per l'utente che cerca la domanda.
Jaydev

Risposte:


85

Dichiara se l'applicazione è disposta a supportare i layout RTL (right-to-left). Se è impostato su true e targetSdkVersion è impostato su 17 o superiore, varie API RTL verranno attivate e utilizzate dal sistema in modo che l'app possa visualizzare i layout RTL. Se impostato su false o se targetSdkVersion è impostato su 16 o inferiore, le API RTL verranno ignorate o non avranno effetto e la tua app si comporterà allo stesso modo indipendentemente dalla direzione del layout associata alle impostazioni locali dell'utente (i tuoi layout saranno sempre lasciati -a destra).

Il valore predefinito di questo attributo è false.

Questo attributo è stato aggiunto nel livello API 17.

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


73

se si sta costruendo un app in arabo, urdu, ebraico, ecc ... o qualsiasi altro linguaggio che è scritto da destra a sinistra si dovrebbe impostare android:supportsRtla true, è così che si dice il layout di essere da destra a sinistra, e il valore predefinito di questo attributo è falso.


14
Meglio della documentazione di Google.
CopsOnRoad

1
Grazie alle altre risposte, ma questo tipo di risposta è più utile e completa la documentazione. Grazie @Sarah.
Nicoolasens

ciao, la mia app non supporta la lingua araba ma sto usando Android: supportsRtl = "true" in manifest.xml è questo problema?
ozanurkan

3
@ozanurkan - Nessun problema. Questa risposta è sbagliata / fuorviante. android:supportsRtl="true"abilita il supporto per le lingue da destra a sinistra. Senza questo, il layout sarà sempre da sinistra a destra, tuttavia di per sé non cambia il layout da destra a sinistra. Abilita semplicemente altri attributi: uno di questi nuovi attributi controlla se è da sinistra a destra o da destra a sinistra.
ToolmakerSteve

10

Dalle guide API Android:

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

Dichiara se l'applicazione è disposta a supportare i layout RTL (right-to-left).

Se è impostato su true e targetSdkVersion è impostato su 17 o superiore, varie API RTL verranno attivate e utilizzate dal sistema in modo che l'app possa visualizzare i layout RTL. Se impostato su false o se targetSdkVersion è impostato su 16 o inferiore, le API RTL verranno ignorate o non avranno effetto e la tua app si comporterà allo stesso modo indipendentemente dalla direzione del layout associata alle impostazioni locali dell'utente (i tuoi layout saranno sempre lasciati -a destra).

Il valore predefinito di questo attributo è false.

Questo attributo è stato aggiunto nel livello API 17.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.