Подтвердить что ты не робот

Разница между sw600dp и w600dp?

Просьба подробно описать разницу между sw<N>dp и s<N>dp. Я изучил полную документацию размеров экрана, но я смущен между этими двумя квалификаторами sw < > и w < > .

4b9b3361

Ответ 1

Экран устройств Android - это прямоугольники. Прямоугольники имеют две стороны, одну короче другой. Позвольте называть короткий A и длинный B.

-swNNNdp указывает "использовать эти ресурсы, если A больше или равно NNN dp по длине"

-wNNNdp указывает "использовать эти ресурсы, если ширина устройства, как в настоящее время удерживается, больше или равна NNN dp"

Когда пользователь поворачивает устройство между портретом и ландшафтом, ширина изменится (будет A или B), но A (самая короткая ширина) всегда будет одинаковой.

Ответ 2

Пожалуйста, посмотрите Поддержка экрана

Согласно документам:

SW: фундаментальный размер экрана, о чем свидетельствует кратчайший размер доступной области экрана. В частности, устройство smallestWidth является самым коротким из доступных по высоте и ширине экрана (вы также можете считать его "минимальной шириной" для экрана). Вы можете использовать этот квалификатор, чтобы гарантировать, что, независимо от текущей ориентации экрана, ваше приложение имеет как минимум dps ширины, доступной для него.

а W: задает минимальную доступную ширину в единицах dp, в которых должны использоваться ресурсы, - определяемые значением. Соответствующее значение системы для ширины изменяется, когда ориентация экрана переключается между пейзажем и портретом, чтобы отразить текущую фактическую ширину, доступную для вашего пользовательского интерфейса.

По-моему:

SW: минимальное расстояние между краями экрана в dps, на котором будет работать ваш макет, поэтому, если вы используете layout-sw600dp/folder, то все макеты внутри него будут работать только на устройствах, которые имеют не менее 600dp ( ширина или высота)

W: означает, что ваш макет будет работать на любом устройстве с шириной n dp независимо от высоты или, возможно, устройства в настоящее время в ландшафтном режиме (в этом случае w будет ссылаться на высоту.. так как ориентация отличается между пейзажем и портретом)