Android многоэкранный гид - PullRequest
1 голос
/ 22 марта 2019

Iam newbie to android development В настоящее время я занимаюсь разработкой проекта, но я не знаю, как поддерживать несколько экранов для всех устройств, поэтому кто-нибудь может подсказать мне, как сделать мое приложение совместимым для всех устройств ..?

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

вы можете использовать ConstraintLayout .

Это макет с плоской иерархией представления (без вложенных групп видов) - в основном вы можете создать один макет, который будет реагировать на все размеры экрана.

Издокументация:

ConstraintLayout позволяет создавать большие и сложные макеты с плоской иерархией видов (без вложенных групп видов).Он похож на RelativeLayout в том, что все представления расположены в соответствии с отношениями между родственными представлениями и родительским макетом, но он более гибкий, чем RelativeLayout, и его проще использовать с редактором макетов Android Studio.

0 голосов
/ 22 марта 2019

нет волшебной палочки для поддержки всех размеров экрана, это зависит от dimens.xml файлов с различной плотностью, например: вы задаете некоторую высоту и ширину вида 100dp и тестируете это на низком и высоком разрешении экрана, но почему dp? px = dp * (dpi / 160) из уравнения dp - это физическое соотношение количества пикселей на экране и точек на дюйм, где 1dp = 160px, как на экране 160 точек, и соответственно разные телефоны имеют разные dpi точки нечистоты на дюйм

mdpi -> 1dp = 1px

hdmpi -> 1dp = 1.5px

xdpi -> 1dp = 2px

xxdpi -> 1dp = 3px

xxxdpi -> 1dp = 4px

поэтому, чтобы сделать заявление правильным и понятным, вам нужно установить разницу dps на основе разрешения экрана, чтобы соответствовать пропорции пикселей, которую должен иметь dp

Я использую очень красивый инструмент на Android Studio под названием

Dimenify

найдите плагины и установите их, затем перезапустите android studio и используйте его как:

- Navigate to the android studio dimension file
- Point the cursor to any dimen you've create
- Right click > Generate > "Generate alternate dimens.." 

я предпочитаю следующее отображение mdpi 0.8, hdpi 1.0, xhdpi 1.2, xxhdpi 1.4, xxxhdpi 1.6 настроить как вам нравится

...