Для чего стоит, скажем, вы хотели изменить размер представления в независимых от устройства пикселях ( dp ): -
Вам необходимо использовать метод с именем applyDimension
, который является членом класса TypedValue
, для преобразования пикселей в dps. Так что, если я хочу установить высоту в 150dp (скажем) - тогда я мог бы сделать это:
float pixels = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 150, getResources().getDisplayMetrics());
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) someLayout.getLayoutParams();
params.height = (int) pixels;
someLayout.setLayoutParams(params);
где выражение: getResources().getDisplayMetrics()
получает плотность экрана / разрешение