Wie wird die Richtung der gesamten Anwendung auf RTL eingestellt?

8

Ich verwende API 17 und suche nach einer Möglichkeit, die gesamte App auf rtl festzulegen, anstatt <android:layoutDirection="rtl"> in jedem einzelnen Aktivitätslayout zu verwenden.

    
mdehghani 20.01.2016, 20:21
quelle

2 Antworten

5

Ich hatte das gleiche Problem, alles, was Sie tun müssen, ist nur alle verwendeten Eltern-Container ( LinearLayout , RelativeLayout , GridView usw.) zu betrachten und die LayoutDirection auf RTL einzustellen ViewCompat-Klasse, um api kleiner als 17 einzuschließen.

ViewCompat.setLayoutDirection(yourParentContainer,ViewCompat.LAYOUT_DIRECTION_RTL) ;

Beachten Sie, dass die Richtung für untergeordnete Ansichten nicht separat festgelegt werden muss.

    
Shahin Soft 24.08.2017, 14:02
quelle
1

Bitte überprüfen Sie diesen Text-Extrakt von Android-Entwickler Weblog:

  

Um die RTL-Layout-Spiegelung zu nutzen, machen Sie einfach Folgendes   Änderungen an Ihrer App:

     

1- Erklären Sie in Ihrem App-Manifest, dass Ihre App die RTL-Spiegelung unterstützt.   Genauer gesagt, fügen Sie android: supportsRtl="true" hinzu   Element in Ihrer Manifestdatei.

     

2- Ändern Sie alle "links / rechts" -Layout-Eigenschaften Ihrer App auf "Neu"   "Start / Ende" Entsprechungen. Wenn Sie Ihre App auf Android 4.2 ausrichten   (Die targetsSdkVersion oder minSdkVersion der App ist dann 17 oder höher)   Sie sollten "Start" und "Ende" anstelle von "links" und "rechts" verwenden. Zum   Beispiel, Android: PaddingLeft sollte Android werden: paddingStart.

     

Wenn Ihre App mit älteren Versionen als Android 4.2 arbeiten soll   (Die targetSdkVersion oder minSdkVersion der App ist 16 oder weniger), dann Sie   sollte "start" und "end" zusätzlich zu "left" und "right" hinzufügen. Zum   Beispiel: Sie würden sowohl android: paddingLeft als auch android: paddingStart verwenden.

den vollständigen Text finden Sie hier:

Ссылка

    
Pooya 20.01.2016 20:40
quelle

Tags und Links