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.
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:
Tags und Links android