Android программно различает ldpi, mdpi и т. Д. - PullRequest
0 голосов
/ 23 августа 2011

У меня есть несколько активов и несколько макетов, но есть некоторые части этого приложения, в которых я устанавливаю значения ширины и высоты в коде Java. Как я могу различить размеры экрана здесь?

Ответы [ 2 ]

4 голосов
/ 23 августа 2011

context.getResources().getDisplayMetrics().density * sizeInDips даст вам размер в пикселях на текущем устройстве.

Редактировать: Если вам нужны условные значения, основанные на конфигурации, вы можете сделать что-то вроде:

res /values ​​/ dimensions.xml:

<resources>
    <dimen name="foo">8dip</dimen>
</resources>

res / values-xlarge / dimensions.xml:

<resources>
    <dimen name="foo">16dip</dimen>
</resources>

Эти значения могут изменяться в зависимости от любого доступного спецификатора конфигурации ресурса.

2 голосов
/ 23 августа 2011

Это поможет:

  • для больших экранов не менее 960dp x 720dp
  • для больших экранов не менее 640dp x 480dp
  • нормальные экраныне менее 470dp x 320dp
  • для небольших экранов не менее 426dp x 320dp

AND

Screen size ranges

с http://developer.android.com/guide/practices/screens_support.html

...