Квалификаторы ресурсов Android -sw#dp и -w#dp

Скажем, я разрабатываю другой макет для устройств с размером экрана, равным или превышающим 600dp. Я хочу использовать квалификаторы ресурсов post android 3.2. Я создал папку с именем layout-sw600dp и поместил туда свой макет, но в то же время я мог бы создать папку с именем layout-w600dp и поместить туда xml-файл макета. Я пытаюсь понять, в чем разница между -sw600dp и -w600dp? В конце концов, они оба предназначены для использования макета для устройства шириной >= 600dp.


person user1409534    schedule 04.07.2014    source источник


Ответы (1)


sw – это "наименьшая ширина". Он не меняется при повороте устройства.

w, с другой стороны, доступная (т.е. текущая) ширина.

См. предоставление альтернативных ресурсов:

smallestWidth – sw<N>dp – минимальная ширина — это характеристика фиксированного размера экрана устройства; наименьшая ширина устройства не изменяется при изменении ориентации экрана.

Доступная ширина — w<N>dp — это значение конфигурации изменится, когда ориентация изменится с альбомной на портретную, чтобы соответствовать текущей фактической ширине.

Пример. Скажем, у вас есть устройство с разрешением 600dp x 400dp.

  • Если у вас есть ресурс w600dp, он будет использоваться в альбомной ориентации, а не в портретной.
  • Если у вас есть ресурс sw600dp, он не будет использоваться ни для какой ориентации (наименьший — 400).
person matiash    schedule 04.07.2014
comment
Спасибо за ваш ответ. Но я все еще не понимаю. что вы подразумеваете под шириной, не изменяется, если устройство вращается. ширина изменена - person user1409534; 04.07.2014
comment
@user1409534 user1409534 Да, но не наименьшая ширина. Отредактированный ответ с примером, надеюсь, это будет полезно. - person matiash; 04.07.2014
comment
~но не в портретной ориентации. На самом деле, для расчета ширины в w‹N›dp будут использоваться как книжная, так и альбомная ориентация. - person IgorGanapolsky; 29.01.2019