Как мне конвертировать в DIP? - PullRequest
4 голосов
/ 07 июня 2011

Какова формула для преобразования обычных пикселей в DIP?

Предполагается, что у меня есть документ Photoshop с дизайном, предназначенным для Galaxy Tab (например), который имеет фактические пиксели 600x1024.
Каково соотношение между теми и DIP? Мне неясно, как Android переводит это.

Я хочу использовать DIP (а не пиксели), чтобы его масштабирование выглядело "хорошо" на других устройствах, но моя главная задача - сделать его идеальным для пикселей в этом разрешении, и моя цель - измерить положение элемента в фотошопе, а затем получите точный перевод того, каким должен быть DIP, чтобы он одинаково выкладывался на вкладке.

1 Ответ

10 голосов
/ 07 июня 2011

Их формула где-то в документах:

 truePixels = DIPs * (device DPI / 160) 

Ах, вот оно:

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

Взяты с здесь .

...