Понимание плотности экрана Samsung Galaxy Tab - PullRequest
6 голосов
/ 13 августа 2011

Можно сказать, что если разрешение экрана Galaxy Tab (в портретном режиме) составляет 600px, а ширина экрана 3.55inch, плотность экрана будет 600/3.55 = 169 dpi. Зная это и помня, как вычисляются независимые пиксели устройства (dp) (http://developer.android.com/guide/practices/screens_support.html):

px = dp * (dpi / 160);
600 = dp * (169 / 160);
dip = 568

Таким образом, рисование горизонтальной линии шириной 568 точек на дюйм (независимые от устройства пиксели), начиная с позиции 0, должно точно соответствовать ширине экрана. Но если вы попробуете это на устройстве, вы увидите, что ширина экрана составляет 400dp. Я снова буду использовать ту же формулу, но для получения dpi:

600 = 400 * (dpi / 160);
dpi = 240

Таким образом, имея ширину экрана 240dpi, 3.55inch и 600pixels, означает ли это, что один физический пиксель состоит из нескольких «точек», в противном случае параметры соответствуют ширине 852pixel (3.55*240).

Я думал, что dpi означает количество точек на дюйм, то есть пикселей на дюйм. Но, похоже, это не так ...

Добавлено позже:
Это (http://developer.android.com/guide/topics/resources/more-resources.html#Dimension) говорит:

160dp - это всегда один дюйм, независимо от плотности экрана

Что не соответствует действительности. Просто проверьте источник измерения из этого: Разница между размерами Android: pt и dp

Добавлено еще позже:
Причина, по которой я спрашиваю, состоит в том, что нарушение правила, которое 160dp = 1inch приводит к тому, что при указании ширины элемента управления, например, 320dp это покроет на Galaxy Tab гораздо большую часть, чем это действительно необходимо, и намного больше, чем вы ожидаете от экрана 600x1024px ...

Спасибо за разъяснения BR Sten

1 Ответ

8 голосов
/ 13 августа 2011

Galaxy Tab (7 ") не сообщает о своей реальной плотности. Чтобы понять эту проблему, прочитайте следующую статью:

http://realmike.org/blog/2010/12/21/multiple-screen-sizes-with-processing-for-android/

Очевидно, это также то, чтоSamsung обнаружил, когда они сделали Galaxy Tab. Galaxy Tab имеет 7-дюймовый экран с разрешением 1024 × 600 и разрешением 170 точек на дюйм. Тем не менее, Tab не сообщает о своей плотности как «mdpi», а как «hdpi», поэтому макет выглядит точно так же, какна втором скриншоте. Если бы они использовали «mdpi», значки были бы шириной .28 ″, с «hdpi», шириной .42 ″ - не так уж и много, и я должен признать, что макет выглядит таким образом красивее.

Статья содержит несколько изображений, которые помогут вам понять проблему.

...