Разумно ли использовать «дп» вместо чего-то еще? - PullRequest
0 голосов
/ 04 августа 2011

В Android, когда я измеряю, разумно ли использовать DP или что-то еще?Я боюсь, что dp может меняться с устройства на устройство, и мое приложение будет выглядеть ужасно во всем, кроме моего телефона.

Ответы [ 5 ]

0 голосов
/ 05 июля 2012

В дополнение к dp вы также можете использовать pt (точка = 1/72 дюйма), in (дюйм) и mm (миллиметр).

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

0 голосов
/ 04 августа 2011

Вы должны ВСЕГДА использовать дп. Если вам нужно значение в пикселях, вы можете использовать этот метод -

public static int dpToPixels(Context context, float dp) {
    final float scale = context.getResources().getDisplayMetrics().density;
    return (int) (dp * scale + 0.5f);
}
0 голосов
/ 04 августа 2011

Если вы посмотрите справочную документацию , вы увидите, что это точка дп.В частности,

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

Поэтому, если вы не хотите ограничиваться одним размером экрана и плотностью, всегда используйте dp.

0 голосов
/ 04 августа 2011

Qasim, dp или dip были изобретены, чтобы предотвратить то, чего вы боитесь.Прочтите эту статью: http://developer.android.com/guide/practices/screens_support.html,, а также этот другой вопрос: В чем разница между "px", "dp", "dip" и "sp" на Android?

0 голосов
/ 04 августа 2011

всегда использование падение

плотность, независимый пиксель

...