Используйте следующий код для получения пикселей с заданным значением в dp
.
Resources res = getResources();
float value = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, valueInDP, res.getDisplayMetrics());
где valueInDP - это значение в dp, и оно будет возвращать соответствующее значение в пикселях в соответствии с плотностью экрана.
или вы можете использовать следующее -
float value = valueInDP * getResources().getDisplayMetrics().density;