Wenn Sie einen Ordner mit Layout-Land haben, wird es Präsident über Layout-ldrtl usw. nehmen, müssen Sie möglicherweise Ordner für Layout-Land-ldrtl usw. erstellen.
Eine andere Möglichkeit, mit der Sie Ihre Layouts von rechts nach links und von links nach rechts bearbeiten können, besteht darin, eine Layoutdatei beizubehalten, die für beide Versionen geschrieben wurde.
Auf einem LinearLayout usw. gibt es ein Attribut:
%Vor%Sie können dies auf den Wert von "Locale" einstellen, und Ihre horizontalen Layouts werden umgedreht.
Anstatt %code% und %code% zu verwenden, verwenden Sie stattdessen %code% und %code% (gilt für alle %code% Attribute). Die Start- und End-Tags hängen von der Layout-Richtung ab. Wenn der Benutzer eine Ländereinstellung mit %code% hat, ist Start und Ende ist rechts , wenn der Benutzer eine Ländereinstellung mit% co_de hat% Start ist richtig und Ende ist links .
Ich persönlich bevorzuge die Verwendung von Layout-Dateien, die mit %code% und %code% arbeiten und keine separaten haben. Es ist leicht, ein Update in einer Version zu verpassen, wenn Sie verschiedene Dateien behalten, was zu einer schlechten Benutzererfahrung führt.
Verschiebe auch dein Layout in den Layout-Ordner (entferne %code% ) und ändere dann alle %code% in %code% .
Salam.
In meinem Projekt muss ich sowohl %code% als auch %code% Layouts für %code% und %code% languages erstellen.
Ich starte eine Anwendung für die Sprache von rechts nach links, und alles ist gut. Aber wenn sich die Ausrichtung geändert hat, lädt android %code% layout gegen %code% , obwohl der aktuelle %code% auf RTL-Sprache gesetzt ist !!!
Wie kann dieses Problem behoben werden?!
In %code%
%Vor%In %code% :
%Vor%
AKTUALISIEREN
Nach dem Kommentar von @JohanShogun ändere ich %code% in %code% und das Problem wurde für die meisten Elemente gelöst.
Im ersten Foto sind alle Elemente sehr gut dargestellt:
Im Querformat, in der StickyListHeader-Listenansicht im Kopfzeilenelement, das oben auf dem Bildschirm angezeigt wird, wird Android von ltr verwendet Layout !!! :