Jakie są zastosowania androida: supportRtl = „true” w pliku XML AndroidManifest


89

Za każdym razem, gdy tworzyłem nowy projekt w Android Studio, otrzymywałem android:supportsRtl="true"w mojej aplikacji plik AndroidManifest.

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

Co jest używane w aplikacji lub jakie są zalety i wady, gdy dodam lub nie dodam do mojej aplikacji AndroidManifest.


5
Nie uważam tego za zduplikowane pytanie. Oba dotyczą RTL, ale ludzie, którzy ich szukają, będą się odkładać.
SREE

2
Pytanie, do którego odnosi się to jako duplikat, jest błędne. Całkowicie inny kontekst dla użytkownika wyszukującego pytanie.
Jaydev

Odpowiedzi:


85

Deklaruje, czy aplikacja obsługuje układy od prawej do lewej (RTL). Jeśli jest ustawiona na true, a targetSdkVersion ma wartość 17 lub wyższą, różne interfejsy API RTL zostaną aktywowane i będą używane przez system, aby Twoja aplikacja mogła wyświetlać układy RTL. Jeśli jest ustawiona na false lub jeśli targetSdkVersion jest ustawiona na 16 lub niższą, interfejsy API RTL zostaną zignorowane lub nie będą miały żadnego wpływu, a Twoja aplikacja będzie zachowywać się tak samo niezależnie od kierunku układu skojarzonego z wyborem ustawień regionalnych użytkownika (układy zawsze będą pozostawione -w prawo).

Wartość domyślna tego atrybutu to false.

Ten atrybut został dodany na poziomie API 17.

(Źródło: http://developer.android.com/guide/topics/manifest/application-element.html )


73

jeśli budujemy aplikację w języku arabskim, urdu, hebrajskim, itp ... lub dowolny język, który jest napisany od prawej do lewej, należy ustawić android:supportsRtlsię true, to jak powiedzieć układ się od prawej do lewej, a wartość domyślną ten atrybut jest fałszywy.


14
Lepsze niż dokumentacja Google.
CopsOnRoad

1
Dzięki innym odpowiedziom, ale taka odpowiedź jest bardziej przydatna i uzupełnia dokumentację. Dziękuję @Sarah.
Nicoolasens

Cześć, moja aplikacja nie obsługuje języka arabskiego, ale używam Androida: SupportRtl = "true" w pliku manifest.xml czy to problem?
ozanurkan

3
@ozanurkan - Żaden problem. Ta odpowiedź jest błędna / myląca. android:supportsRtl="true"włącza obsługę języków zapisywanych od prawej do lewej. Bez tego układ zawsze będzie od lewej do prawej, jednak sam w sobie nie zmienia układu na od prawej do lewej. Po prostu włącza inne atrybuty - jeden z tych nowych atrybutów kontroluje, czy jest od lewej do prawej, czy od prawej do lewej.
ToolmakerSteve

10

Z przewodników po interfejsie API systemu Android:

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

Deklaruje, czy aplikacja obsługuje układy od prawej do lewej (RTL).

Jeśli jest ustawiona na true, a targetSdkVersion ma wartość 17 lub wyższą, różne interfejsy API RTL zostaną aktywowane i będą używane przez system, aby Twoja aplikacja mogła wyświetlać układy RTL. Jeśli jest ustawiona na false lub jeśli targetSdkVersion jest ustawiona na 16 lub niższą, interfejsy API RTL zostaną zignorowane lub nie będą miały żadnego wpływu, a Twoja aplikacja będzie zachowywać się tak samo niezależnie od kierunku układu skojarzonego z wyborem ustawień regionalnych użytkownika (układy zawsze będą pozostawione -w prawo).

Wartość domyślna tego atrybutu to false.

Ten atrybut został dodany na poziomie API 17.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.