Нужно ли мне 14 различных макетов для поддержки всех Android-устройств?

Я действительно смущен. Из документов на сайте developer.android.com, похоже, чтобы мои изображения были масштабированы правильно (соотношение сторон тоже) на всех современных устройствах Android, мне нужны все эти макеты ниже. Это действительно то, что все делают? Я что-то упускаю, или я должен идти по этому поводу по-другому?

Low density Small screens QVGA 240x320 ------------------------------------------------ layout-small-ldpi layout-small-land-ldpi Low density Normal screens WVGA400 240x400 (x432) ------------------------------------------------ layout-ldpi layout-land-ldpi Medium density Normal screens HVGA 320x480 ------------------------------------------------ layout-mdpi layout-land-mdpi Medium density Large screens HVGA 320x480 ------------------------------------------------ layout-large-mdpi layout-large-land-mdpi High density Normal screens WVGA800 480x800 (x854) ------------------------------------------------ layout-hdpi layout-land-hdpi Xoom (medium density large but 1280x800 res) ------------------------------------------------ layout-xlarge layout-xlarge-land 

    Ваше приложение будет работать на 100% устройств с classическим расположением.

    Вы можете просто добавить некоторые кнопки или изменить макет в ландшафтном режиме, добавив некоторые квалификаторы, но это зависит от вас!

    Например, на устройстве LDPI (маленькое разрешение) вы можете настроить некоторые кнопки или немного поменять, чтобы они соответствовали маленькому экрану.

    Вы также можете поместить некоторые кнопки справа в ландшафтном режиме и в нижней части вашего макета на портрете!

    Вы не должны «использовать» их.

    Согласно Android Dev Protip от Roman Nurik о спецификаторах экрана:

    Если у вас есть настраиваемые макеты для более крупных экранных устройств, таких как highcharts, теперь настало время прекратить использование -large или -xlarge classификатора ресурсов и переключиться на использование -swXXdp или -wXXdp квалификаторов. Последние были введены в API-уровень 13 , который в основном все highcharts теперь поддерживают в соответствии с последними версиями платформ платформы1.

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

    Итак, какие фактические sw или w квалификаторы вы должны использовать? Вот краткая, просто-давая мне начало:

    7 “планшета: вместо макета большого размера используйте layout-sw600dp.

    Пример: Nexus 7 = 960 × 600 dp; меньший из двух измерений – 600.

    10 “планшета: вместо layout-xlarge используйте layout-sw720dp.

    Пример: Nexus 10 = 1280 × 800 dp; меньший из двух размеров – 800. Некоторые 10-дюймовые highcharts немного более узкие, поэтому 720 является часто используемой точкой переключения.

    Там больше, чем просто (вы действительно хотите выбирать точки переключения на основе минимальных требований вашего контента, а не на форм-факторе устройства), но это #Protip для другого дня (:: cough :: + Nick Butcher :: cough: :).

    В макете, если вы не используете AbsoluteLayout, ваше приложение будет изменено в соответствии с размером экрана.

    Но в некоторых случаях для небольших экранов вам нужно объявить новый макет с меньшим количеством компонентов, например.

    Для изображений:

    У вас есть несколько вариантов.

    Просто игнорируйте некоторые разрешения и позволяйте устройству выбрать наилучшее изображение. Объявите на AndroidManifest для тех размеров, которые вы хотите поддерживать. Или имеет только один, и пусть размер изменяет ваше приложение.

    Да. Вы должны определить разную компоновку для разного разрешения экрана.

    Когда вы должны работать с планшетом приложений. В то время вы действительно это чувствуете. Существует необходимость в разной компоновке. Потому что highcharts всегда бывают разных размеров.

    Еще одна вещь: когда вы работаете над Android, вы всегда должны испытать свое приложение с помощью реального устройства. А также тестируйте эмуляторы разных размеров.

    Давайте будем гением компьютера.