Jaka jest różnica między początkiem / końcem marginesu Androida a prawą / lewą stroną?


133

Jaka jest różnica między początkiem marginesu w systemie Android a prawym (lub końcem marginesu i lewym)?

To trywialne pytanie, ale nie wydaje mi się, aby z dokumentacji dowiedzieć się, jaka jest różnica między widokiem początek / koniec a widok z lewej / prawej. Możliwe, że po prostu czegoś nie rozumiem, ale w ogóle nie mogę zrobić w tym żadnego postępu.

Odpowiedzi:


193

W przypadku przepływu od lewej do prawej początek = lewa, koniec = prawa.

W przypadku przepływu od prawej do lewej początek = prawo, koniec = lewo.

Pojęcia „start” i „end” zostały dodane na poziomie API 17 w ramach obsługi układów RTL w systemie Android 4.2 .


5
Czy wiesz, który z nich ma pierwszeństwo, jeśli są różne? (ciekawość). jak marginLeft=1 marginStart=2(na przykład w Scenariuszu Left2Right)
Martin Marconcini,

@ MartínMarconcini: Mam nadzieję, że początek / koniec ma pierwszeństwo, ale nie wiem tego na pewno. Musisz tego spróbować.
CommonsWare

@Martin Z tego, co zrozumiałem, lewa / prawa jest ignorowana, gdy początek / koniec istnieje powyżej API 17. Jednak nie widzę, dlaczego twoja lewa / prawa różniłaby się od początku / końca; Jestem ciekawy.
Liggliluff

3
Błędy @Liggliluff, literówki itp. :) Po API 17 start / end ma pierwszeństwo i jest ostrzeżenie LINT, jeśli nadal używasz starych. Są ignorowane, próbowałem.
Martin Marconcini,

@Martin Dzięki za przetestowanie. Czy oba prawa i lewa strona są ignorowane, jeśli pojawia się tylko jeden z nich: początek lub koniec? (Nie miałoby sensu używać start / right, gdy będą one takie same dla skryptów RTL).
Liggliluff

30

Android obsługuje układy RTL z API 17+, tj. Android 4.2 (Jelly Bean). I kiedy tworzymy nasz układ tak, aby obsługiwał zarówno RTL, jak i LTR, nie możemy używać layout_marginleft i layout_margin.

fotka

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.