Używam API 17 i szukam sposobu, aby ustawić całą aplikację na rtl zamiast używać <android:layoutDirection="rtl">
w każdym pojedynczym layoucie działania.Jak ustawić kierunek całej aplikacji na RTL?
Odpowiedz
miałem ten sam problem, wszystko co musisz zrobić, to po prostu rozważyć wszystkie używane kontener nadrzędnego (LinearLayout
, RelativeLayout
, GridView
, etc) i ustawić LayoutDirection na RTL można podejść w ten sposób programowo, dzięki klasie ViewCompat, aby uwzględnić api niższe niż 17.
ViewCompat.setLayoutDirection(yourParentContainer,ViewCompat.LAYOUT_DIRECTION_RTL)
;
pamiętać, że nie ma potrzeby, aby ustawić kierunek dla childviews oddzielnie
thx dużo. myślę, że to wystarczy. – mdehghani
Proszę zaznaczyć to wyodrębnić tekst z Android programistów weblog:
Aby wykorzystać układ RTL mirroring, wystarczy wykonać następujące zmian w aplikacji:
1- deklarować w swoim manifeście, że app Twoja aplikacja obsługuje mirroring RTL. W szczególności dodaj android: supportsRtl = "true" do elementu w pliku manifestu.
2- Zmień wszystkie właściwości układu "prawo/lewo" w aplikacji na nowe odpowiedniki "start/koniec" w wersji . Jeśli kierujesz swoją aplikację na system Android 4.2 (wartość targetSetk lub minSdkVersion aplikacji wynosi 17 lub więcej), a następnie powinieneś użyć "start" i "end" zamiast "left" i "right". Dla przykładu , android: paddingLeft powinien stać się androidem: paddingStart.
Jeśli chcesz swoją aplikację do pracy z wersji wcześniejszych niż Android 4.2 (Aplikacja za targetSdkVersion lub minSdkVersion wynosi 16 lub mniej), to należy dodać „start” i koniec”oprócz«w lewo»i„prawo ". Dla przykładu, użyłbyś zarówno android: paddingLeft, jak i android: paddingStart.
pełny tekst można znaleźć tutaj:
http://android-developers.blogspot.ca/2013/03/native-rtl-support-in-android-42.html
- 1. Kierunek ltr na stronie HTML rtl
- 2. W textarea, zmienić kierunek bieżącej linii z „RTL” na „l”
- 3. Jak ustawić element na całej wysokości strony?
- 4. Jak ustawić Thread.CurrentPrincipal do użytku w całej aplikacji?
- 5. jak ustawić domyślne informacje o kulturze dla całej aplikacji C#
- 6. Graf wywołania całej aplikacji
- 7. Zestaw UIKeyboardAppearance w całej aplikacji
- 8. Jak ustawić keyup na całej stronie w Vue.js
- 9. Jak wyłączyć błąd "Podziel przez zero" i ustawić wynik na wartość null dla całej aplikacji?
- 10. Symfony2: Jak wymusić HTTPS dla całej aplikacji?
- 11. Łatwy sposób na ustawienie CurrentCulture dla całej aplikacji?
- 12. RTL jest zmuszony w urządzeniach RTL
- 13. Jak dynamicznie zmieniać temat całej aplikacji ASP.NET?
- 14. Jak wyłączyć aplikację NSLog w całej aplikacji?
- 15. Jak utworzyć routing dla aplikacji Rails w całej aplikacji?
- 16. Jak zrobić tekst na całej jego szerokości?
- 17. Google Map Nawigacja i kierunek w aplikacji na telefon iPhone
- 18. Twitter Bootstrap rtl rating gwiazdek
- 19. Jak uzyskać kierunek kompasu
- 20. Jak zmienić kierunek rozwijania na .toggle()?
- 21. Jak wykrywać kierunek myszy na konkretnym elemencie?
- 22. Jak zmienić kierunek ikon dla pozycji menu w NavigationView?
- 23. Zmuszanie kierunek tekstu dla LeadingMarginSpan2
- 24. automatycznie zmienia kierunek tekstu w polu tekstowym
- 25. Jak ustawić niestandardową czcionkę dla całej aplikacji dla systemu iOS bez określania rozmiaru
- 26. Jak ustawić styl dla całej kolumny w EPPlus?
- 27. Obsługa RTL w Pythonie Sphinx
- 28. Zabezpieczanie całej aplikacji ASP.NET 5 MVC 6
- 29. Zmiana domyślnej ikony WinForm w całej aplikacji
- 30. Android - biblioteka zewnętrzna zmienia nazwę całej aplikacji
Możecie spróbować ustawić 'android: supportsRtl = TRUE w AndroidManifest.xml w' ' tagu. –
PattaFeuFeu
@ PattaFeuFeu: to by zmieniło tylko kierunek, podczas gdy językiem OS jest rtl. Chcę zmienić kierunek, nawet jeśli system operacyjny jest LTR – mdehghani