2015-03-28 9 views
12

W mojej aplikacji zaimplementowałem kilka języków, w tym język arabski, który zaczyna się od prawej do lewej. Chcę ustawić wszystkie ikony na pasku narzędziowym na RIGHT_TO_LEFT.Wyrównaj ikony paska narzędzi od prawej do lewej?

Próbowałem layout_gravity="right" i gravity="right" Ale nic się nie stało.

Mój kod Toolbar:

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/primary_color" 
    app:popupTheme="@style/Theme.AppCompat.Light"/> 

Oto, czego chcę:


Odpowiedz

18

Oficjalne wsparcie od prawej do lewej zostało wprowadzone z Androidem 4.2 (poziom API 17) , więc to zadziała tylko wtedy, gdy twój minimalny poziom SDK wynosi 17:

1) Umieść t on atrybutu android:supportsRtl="true" w pliku AndroidManifest do obsługi kierunków układania od prawej do lewej.

2) Po drugie umieścić ten kod w onCreate() methdod swoją aktywność w:

if (getWindow().getDecorView().getLayoutDirection() == View.LAYOUT_DIRECTION_LTR){ 
      getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); 
     } 

To sprawi, że wszystko znajduje się od strony prawej do lewej, jeśli system używa języka zgodnie. Upewnij się również, że podczas ustawiania dopełnienia używasz początku/końca zamiast lewej/prawej, aby upewnić się, że wszystkie elementy są poprawnie wyrównane.

Aby uzyskać więcej informacji na temat oficjalnego ogłoszenia pomocy technicznej: http://android-developers.blogspot.be/2013/03/native-rtl-support-in-android-42.html

+0

Dzięki, że działało. Jednak wymagany interfejs API ograniczył mnie do nieużywania go, ponieważ wiele urządzeń wciąż ma niższe API. również Upvoted;) –

Powiązane problemy