Путаница в размере Android - PullRequest
0 голосов
/ 04 августа 2020

У меня есть такое требование

Для ширины: sw0-320 : 100dp,

sw321- : 200dp

Где мне поместить эти значения?

В значениях в папке: 100dp или 200dp,

In values-w320dp в папке: 100dp или 200dp ,

Тут запутались! Изучал какой-то do c, а вот этого не понял!

Ответы [ 2 ]

1 голос
/ 04 августа 2020

Данные в папках values-sw320dp или values-w320dp будут использоваться, если устройство имеет наименьшую ширину или доступную ширину 320dp или более, в противном случае будут использоваться данные из папки values. Итак, в этом случае вам нужно поместить 100dp в папку values и 200dp в values-sw320dp или values-w320dp. В вопросе говорится, что требуется около sw (наименьшая ширина), но затем он использует квалификатор доступной ширины (w) в имени папки, поэтому неясно, какой из них вам понадобится.

документация по этому поводу находится в https://developer.android.com/guide/topics/resources/providing-resources, и там вы можете проверить квалификаторы smallestWidth (sw<N>dp) и availableWidth (w<N>dp).

1 голос
/ 04 августа 2020

Android находит наиболее специфичный c ресурс для устройства, на котором оно запущено первым.

Это означает, что вы помещаете что-то в values-sw320dp и используете устройство с наименьшей шириной 320dp или больше, он сначала будет смотреть сюда. Если он не может найти ресурс в этой папке, он будет искать в базовой папке values. Если вы используете устройство с наименьшей шириной 319dp, оно не будет искать ресурс в values-sw320dp.

...