Вы должны быть осторожны с размером экрана и плотностью пикселей.
Лучший способ обработать все размеры экрана - это использовать ConstraintLayout
или weightSum
в LinearLayout
(но это замедляет производительность пользовательского интерфейса).Это поможет вам сохранить одинаковое положение элементов на всех экранах.
Плотность пикселей сложнее обрабатывать.Для размера текста, например, я считаю полезным использовать различные dimens
файлы.Щелкните правой кнопкой мыши папку values
и выберите Values resource file
, введите имя dimens
, а затем выберите Density
слева.Там вы можете выбрать, какую плотность вы хотите лечить.В каждом файле, который вы делаете, вы можете сделать размер текста с тем же именем, например:
<dimen name="normal_text_size">15sp</dimen>
, и каждый раз, когда вы устанавливаете размер текста, используйте этот тег.Таким образом, в зависимости от плотности телефона, будет автоматически выбран соответствующий размер текста.
Вы можете прочитать о ConstraintLayout
здесь
Подробнее о размере экрана здесь
А насчет плотности пикселей здесь