В соответствии с примечанием, написанным в этой документации Supporting Multiple Screens, старые группы были устаревшими (малыми, нормальными, большими и большими), поэтому мы должны перейти на новый метод, определенный в Android 3.2.
Примечание: Начиная с Android 3.2 (уровень API 13), эти размерные группы являются осуждается в пользу нового метода для управления размерами экрана на основе на доступной ширине экрана. Если вы разрабатываете Android 3.2 и выше, см. Декларация планшета для Android 3.2 для получения более информации.
Старый способ классификации:
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
Новый путь: Новые классификаторы конфигурации для размера экрана (введенные в Android 3.2).
320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
480dp: a tweener tablet like the Streak (480x800 mdpi).
600dp: a 7” tablet (600x1024 mdpi).
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
res/layout-sw320dp/main_activity.xml # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger)
См. Документацию Supporting Multiple Screens для получения дополнительной поддержки!
Таким образом, здесь также возникнет странная проблема, связанная с управлением различными мобильными устройствами (а не планшетами). У нас есть устройства, такие как 3,5 '5', 5,5 'и так далее.
Таким образом, чтобы добиться поддержки нескольких мобильного экрана (точно) вы можете создавать различные значения папки в вашем приложении, как показано ниже
Затем объявить все значения измерений в файле dimens.xml как ваши потребности , и используйте значения из файла измерения (это означает, что в ваших xml-файлах нет жестко закодированных значений). Каждое значение должно быть получено из размера файла, такого как @ dimen /) Например, на вашем домашнем экране у вас есть остальное поле 5dp и размер текста 24sp и некоторые другие значения измерения.
Поэтому вам нужно создать файл dimens.xml в папке значений, как показано ниже.
<dimen name="button_height">120dp</dimen>
<dimen name="buttonTextSize">15dp</dimen>
<dimen name="button_margin">10dp</dimen>
<dimen name="buttonHeight_normal">37dp</dimen>
<dimen name="left_padding">5dp</dimen>
, то вы можете использовать то же самое в файле XML, как показано ниже
<Button
android:id="@+id/rButton"
android:layout_width="wrap_content"
android:layout_height="@dimen/button_height"
android:layout_marginTop="@dimen/button_margin"
android:textSize="@dimen/buttonTextSize"
android:padding="@dimen/left_padding" />
таким же образом, вы можете создавать различные файлы dimens.xml в разных значениях папок, а затем вы можете создать такую же размерность имена & изменить требуемые значения дп зр & .. так что при загрузке XML-файл, он будет принимать значения размеров из папки, требуемые значения
link Это может помочь вам более подробно s
Ваши имена папок неверны, должны быть такими, как res/layout-sw600dp, пожалуйста, проверьте другой вопрос, например [это] (http://stackoverflow.com/questions/9513910/how-to-give-layouts- folder-name-to-support-multiple-screen-size-in-android) – alp
Можете ли вы обновить свой вопрос, чтобы мы могли видеть, как ваша папка res? – Tsunaze
@Tsunaze это следующим образом расположения (папка по умолчанию) макет большого макета нормального макета небольшой макет XLarge макет XXLarge –