Как 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,

Тем не менее, читайте также лучшие практики для независимости экрана.

Другие вопросы по тегам