-4
Я хочу установить layout_marginTop
в 800px, используя setLayoutParams()
. Но я хочу знать, что это будет в dp
единицах?Конверсия между px и dp unit
Заранее благодарен.
Я хочу установить layout_marginTop
в 800px, используя setLayoutParams()
. Но я хочу знать, что это будет в dp
единицах?Конверсия между px и dp unit
Заранее благодарен.
Логическим density дисплея дается в DisplayMetrics
классе, и могут быть получены с,
getResources().getDisplayMetrics().density
Таким образом, для преобразования dp
в px
, вы могли бы сделать,
int density = getResources().getDisplayMetrics().density;
int px = (int) (dp * density);
Для конвертировать px
в dp
, просто выполнить обратную операцию,
int dp = px/density;
'LayoutParams' ожидает пиксель. Вы должны быть более конкретными ... – Knickedi
Если вы пытаетесь преобразовать dip в px, то вот оно: 'int px = (int) (dip * mContext.getResources(). GetDisplayMetrics(). Плотность + 0.5f) '. Я до сих пор не понимаю, чего вы пытаетесь достичь. – Knickedi
Основная идея в вопросах - конвертировать пиксели в dp. Я хочу знать 1dp =? Px на моем экране. – Zerntrino