В чем разница между paddingLeft и paddingStart в Android? - PullRequest
3 голосов
/ 19 июня 2020

Я пытался установить отступ для LinearLayout в XML макетах Android. Но он дает мне 2 варианта - paddingLeft и paddingStart.

Каковы различия и является ли один из наиболее правильных / лучших атрибутов для использования?

Я хочу лучший ответ, потому что для этого нужен код наилучшего качества.

Ответы [ 2 ]

4 голосов
/ 19 июня 2020

Короткий ответ: paddingStart поддерживает чтение справа налево (RTL), а paddingLeft - нет.

Вы должны отдать предпочтение paddingStart, чтобы ваше приложение было RTL-дружественным, но убедитесь, что вы протестировали его (существует возможность разработчика принудительно включить RTL на вашем языке, поэтому вам не нужно тестировать приложение на языке, который вы не можете читать).

Если пользователь в языковом стандарте, который записывает справа налево (RTL), тогда paddingStart будет применен к правой стороне, а если они находятся в локали слева направо (LTR) (например, Engli sh), он будет нанесен с левой стороны. paddingLeft, с другой стороны, всегда будет применяться слева, независимо от направления текста локали.

Это полезно, потому что макеты часто меняются местами в локали RTL. Например, в списке контактов с фотографиями контактов может отображаться фотография контакта слева для локалей LTR и справа для локалей RTL. Так как заполнение для фотографии может отличаться от заполнения для другой стороны элемента, вы должны указать заполнение с помощью paddingStart (для заполнения фотографии) и paddingEnd (для заполнения на другой стороне элемент).

1 голос
/ 19 июня 2020

все дело в поддержке RTL, если вы выберете paddingLeft, тогда, когда ваше приложение работает в локали RTL, например. Arabi c ваш отступ будет перевернут. поэтому использование paddingStart и paddingEnd намного безопаснее при попытке работать с миром RTL, например с урду или араби c ... et c.

Примечание: это не имеет значения, если вы назначаете то же самое значения для левого и правого отступа, очевидно, что он будет вести себя одинаково в мирах LTR и RTL.

...