Методы поддержки различных размеров и плотностей экрана Android

Я создаю приложение для Android и хочу иметь возможность поддерживать как можно больше устройств Android, использующих Android 4.4 и выше. Размеры экрана, которые я хочу поддерживать:

  • Обычный
  • Большой
  • хБольшой

Я создал разные файлы dimens.xml для каждого размера. Мой первый вопрос: числа, которые я помещаю в каждый файл dimens.xml, должны основываться на минимальном размере каждой категории? Например: для обычного я должен разработать макет на устройстве с размерами 470dp x 320dp, для большого устройства с размерами 640dp x 480dp и для xlarge устройства с размерами 960dp x 720dp?

Мой второй вопрос: предположим, что у нас есть файлы базовых размеров для нормального, большого и большого размера, сколько еще XML-файлов размеров я должен создать, чтобы поддерживать разные плотности. Также поддерживаются ли устройства с Android 4.4 и выше все плотности или некоторые из них исключены? (например, LDPI)

Теперь предположим, что я исключаю плотность LDPI, должен ли я сделать каждую плотность для каждого размера или если я сделаю один MDPI для каждого размера экрана и один HDPI для каждого размера экрана, все будет «выглядеть» так, как я хочу, даже в устройствах с Плотность XXXHDPI?

И последнее, если вы можете порекомендовать какие-либо устройства для создания моего «базового» макета, это было бы здорово.


person Vivian    schedule 25.11.2016    source источник
comment
здесь лучше использовать изображения svg.   -  person Saveen    schedule 25.11.2016
comment
@Saveen Я не имею в виду размеры изображений. Я в основном говорю о полях, ширине, высоте, отступах и т. д.   -  person Vivian    schedule 25.11.2016
comment
да, мы справимся, подожди, я отвечу   -  person Saveen    schedule 25.11.2016


Ответы (1)


привет, вы можете обрабатывать размер разных разрешений,

создавать различные типы папок значений. Создайте эти папки внутри res.

значения-hdpi

значения-xhdpi

значения-xxhdpi

значения-xxxhdpi

и dimens.xml создайте соответственно для разных разрешений. Используйте все отступы и поля отсюда.

Это способ обработки разных разрешений для разных размеров.

для получения дополнительной информации см. ниже image.

для получения дополнительной подробностей взгляните на базовую структуру моего проекта

Спасибо

person Saveen    schedule 25.11.2016
comment
Итак, вы предлагаете мне не использовать значения-обычные, значения-большие и значения-xlarge и использовать только папки со значениями dpi? - person Vivian; 25.11.2016
comment
да, это лучший способ обрабатывать разные размеры - person Saveen; 25.11.2016
comment
попробуйте с этим, если у вас все еще есть какие-либо проблемы, дайте мне знать - person Saveen; 25.11.2016
comment
Я попробую, и я дам вам знать - person Vivian; 25.11.2016
comment
вам нужно вручную добавить разные размеры размеров, запомните их с одинаковым именем в четырех папках - person Saveen; 25.11.2016
comment
взгляните на мою базу проектов github.com/saveendhiman/SampleApp - person Saveen; 25.11.2016
comment
Я попробовал ваше решение, и проблема, с которой я столкнулся, заключается в том, что когда я тестирую свое приложение на 9,6-дюймовом планшете (800x1280) с плотностью MDPI и на 7-дюймовом планшете (600x1024) с плотностью MDPI, они выбирают один и тот же файл размеров. . В 9.6" все выглядит отлично, а в 7" все слишком велико. - person Vivian; 26.11.2016
comment
Вам также необходимо добавить папку dimens для 7-дюймового планшета. - person Saveen; 26.11.2016
comment
Итак, я должен создавать папки с комбинацией плотности и наименьшей ширины? Для 10 дюймов: values-sw720-mdpi Для 7 дюймов: values-sw480-mdpi ? - person Vivian; 26.11.2016
comment
Спасибо за помощь! :) - person Vivian; 26.11.2016