Как программно поменять параметр android:layout_height="" у ConstraintLayout?

Есть ConstraintLayout с параметром android:layout_height="550" Мне нужно, чтобы при нажатии кнопки, значение параметра менялось на 450. Однако все, что я нашел по этому поводу в документации, это ConstraintLayout.setMaxHeigth(); и ConstraintLayout.setMinHeigth();, но при изменении этих параметров, у меня верхнюю и нижнюю части макета становится не видно.


Ответы (1 шт):

Автор решения: Sergei Buvaka

Думаю это должно помочь

ConstraintLayout layout = findViewById(R.id.you_layout);
// Получение LayoutParams которые позволят нам изменить размеры нашего layout
LayoutParams params = layout.getLayoutParams();
// Изменение высоты или ширины в пикселях
params.height = 100;
params.width = 100;
layout.setLayoutParams(params);

Если вы хотите конвертировать dp в пиксели используйте этот метод

int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, <HEIGHT>, getResources().getDisplayMetrics());
→ Ссылка