Как Android определяет разрешение экрана как долго?
В Android вы можете определить различные ресурсы для разных атрибутов телефона, указав соответствующие директории res. Мне нужно иметь возможность поддерживать разные макеты для 480x800
а также 480x854
, Я подумал, что мог бы иметь один набор ресурсов, хранящихся в каталоге layout-hdpi-v4, а другой - в layout-long-hdpi-v4. Однако оба разрешения, кажется, считают, что они длинные (по крайней мере, на основе эмулятора, который, как я понимаю, может не совсем точно отражать устройства).
Есть ли другой способ, которым я могу различить два разрешения / пропорции?
2 ответа
Существует определитель размера экрана, хотя его использование устарело и его не рекомендуется использовать:
layout-800x480
,layout-854x480
В противном случае не похоже, что существует поддерживаемый способ именования ресурсов, который может различать два разрешения, кроме использования гибких макетов для расширения в дополнительное пространство экрана.
Если вы хотите определить размер экрана в коде, DisplayMetrics поможет
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Вы можете посмотреть на поля widthPixels
а также heightPixels
,
Тем не менее, читайте также лучшие практики для независимости экрана.