В чем разница между началом / концом поля Android и правым / левым?


130

В чем разница между началом и правым полем Android (или концом поля и левым)?

Это тривиальный вопрос, но я не могу понять из документации, в чем разница между началом / концом просмотра и левым / правым. Может быть, я просто чего-то не понимаю, но я не могу добиться в этом никакого прогресса.

Ответы:


185

Для потока слева направо start = left, end = right.

Для потока справа налево start = right, end = left.

Понятия «начало» и «конец» были добавлены в API уровня 17 как часть поддержки Android 4.2 для макетов RTL .


5
Вы знаете, какой из них имеет приоритет, если они разные? (любопытство). как marginLeft=1 marginStart=2( например, в сценарии Left2Right)
Мартин Маркончини

@ MartínMarconcini: Надеюсь, начало и конец имеют приоритет, но я не знаю этого наверняка. Тебе нужно попробовать.
CommonsWare,

@Martin Насколько я понял, left / right игнорируются, если start / end существует выше API 17. Однако я не могу понять, почему ваш left / right будет отличаться от start / end; Мне любопытно.
Liggliluff

2
@Liggliluff ошибки, опечатки и т. Д. :) После API 17 start / end имеет приоритет, и появляется предупреждение LINT, если вы все еще используете старые. Их игнорируют, я пробовал.
Мартин Маркончини

@Martin Спасибо за тестирование. Игнорируются ли оба направления влево / вправо, если отображается только одно из начала или конца? (Не имеет большого логического смысла использовать start / right, если они будут одинаковыми для сценариев RTL).
Liggliluff

28

Android поддерживает макеты RTL из API 17+, то есть Android 4.2 (Jelly Bean). И когда мы делаем наш макет для поддержки как RTL, так и LTR, мы не можем использовать layout_marginleft и layout_margin Здесь мы используем layout_marginstart и layout_maginend.

фильм

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.