Какова лучшая практика для создания макетов для всех размеров экрана и всех плотностей экрана в Android - PullRequest
0 голосов
/ 14 мая 2018

Исходя из того, что я прочитал (включая официальную документацию), предлагается создать отдельные макеты, отдельные чертежи, отдельные файлы измерения. XML для всех размеров экрана и плотности экрана, но из того, что я вижу, более 100 Различные комбинации размера экрана / плотности экрана телефонов и создания уникальных макетов / рисунков для каждого из них практически невозможны.

Тот же результат может быть достигнут простым программным изменением макета, однако никто не предлагает этот подход вообще. Почему?

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

Допустим, у вас есть макеты для устройств с большим экраном с плотностью xhdpi. Вы делаете свое приложение доступным только для этих устройств? Кажется невероятным.

Как можно создать приложение, которое бы подходило под все размеры экрана / плотность экрана?

Должен быть оптимальный подход при создании макетов для всех размеров экрана и всех плотностей экрана, но что? Я на самом деле действительно потерян. Кто-нибудь может представить простой проект, который как-то это делает?

Ссылка: Есть ли список разрешений экрана для всех телефонов и планшетов на базе Android?

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

У меня есть несколько решений для вас

  1. Использовать ConstraintLayout (https://developer.android.com/training/constraint-layout/)
  2. Использовать PercentRelativeLayout (https://developer.android.com/reference/android/support/percent/PercentRelativeLayout)
  3. Sdp конвертер (* 1011)*

В моем случае. Я использую их все. Они также могут работать вместе.

0 голосов
/ 14 мая 2018

Вы можете пойти на 2 вещи:

  1. Программная настройка высоты и ширины компонентов пользовательского интерфейса в зависимости от высоты и ширины экрана устройства.
  2. В xml используйте вес, а не фиксированную высотуи вес, так что все будет основано на соотношении.

Примечание: Вы не можете использовать оба из них вместе.

...