Поддержка нескольких экранов Android - PullRequest
0 голосов
/ 05 июля 2011

Я смущен поддержкой нескольких экранов Android.http://developer.android.com/guide/practices/screens_support.html Я читал эту статью, но мне все еще что-то не понятно.

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

Я внес эти изменения в соответствии с этой статьей.Но в некоторых плотностях все еще есть проблема, хотя некоторые из них работают очень хорошо.

Вопрос в том, какова точная ширина и высота в единицах dp для различных типов экранов Android.если он изменчив, то в чем разница между px?

  • px изменчив, dp тоже изменчив ???в чем разница ??

если можно изменить, я должен изменить ширину и высоту вида по коду в функции Create или создать отдельные макеты для каждого типа экрана?Пожалуйста, дайте способ понять это ...

Заранее спасибо ..

Ответы [ 2 ]

2 голосов
/ 05 июля 2011

px не подлежат изменению. дпс или провалы.

Чтобы вычислить, сколько пикселей ваш объект, указанный в dps, будет использовать формулу ниже:

Плотно-независимый пиксель эквивалентен одному физическому пикселю на экране с разрешением 160 точек на дюйм, который является базовой плотностью, принятой системой для экрана "средней" плотности. Во время выполнения система прозрачно обрабатывает любое масштабирование единиц измерения dp по мере необходимости на основе фактической плотности используемого экрана. Преобразование единиц dp в пиксели экрана очень просто: px = dp * (dpi / 160). Например, на экране с разрешением 240 dpi 1 dp равен 1,5 физических пикселей. Вы должны всегда использовать единицы измерения dp при определении пользовательского интерфейса вашего приложения, чтобы обеспечить правильное отображение вашего пользовательского интерфейса на экранах с различной плотностью.

1 голос
/ 05 июля 2011

px является фиксированной мерой.Это означает, что если 100px на маленьком экране занимает половину экрана, на большом экране это займет гораздо меньше.dp = плотность (независимая) пикселей, основывается на плотности устройства.Таким образом, если вы укажете ширину до 50 dp на маленьком экране, она будет расширяться на большом экране.Обратите внимание, что dp не является гарантией совместимости макета на всех устройствах, поскольку устройства имеют разные пропорции.Чтобы создать идеальный макет, который выглядит одинаково на всех устройствах, вы должны использовать больше методов.Linearlayout позволяет назначать веса.Посмотри на это.http://developerlife.com/tutorials/?p=312

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...