Увеличение высоты кнопки при нажатии на нее?
У меня есть 6 кнопок. При нажатии на любую из них, мне нужно чтобы высота увеличивалась этой кнопки. Как это сделать? Button.setHeight(); сделал. Но не работает при нажатии. Еще я пробовал увеличить высоту формы в drawable.Но все равно не получалось. В xml высота и ширина кнопки по 45dp. Я поставил на wrap_content, подумал что наверное нельзя зафиксировать размер, но все равно не выходит. Скажите пожалуйста как это сделать? Заранее спасибо
ConstraintLayout.LayoutParams linnear_lay = new ConstraintLayout.LayoutParams(45, 65);
linnear_lay.topMargin = 150;
btnWeekDay1.setLayoutParams(linnear_lay);
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Можно сделать таким образом:
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)v.getLayoutParams();
int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 35, getResources().getDisplayMetrics());
int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 140, getResources().getDisplayMetrics());
if(event.getAction() == MotionEvent.ACTION_DOWN){
layoutParams.width = width + 5;
layoutParams.height = height + 5;
button.setLayoutParams(layoutParams);
}
if(event.getAction() == MotionEvent.ACTION_UP){
layoutParams.width = width;
layoutParams.height = height;
button.setLayoutParams(layoutParams);
}
return false;
}
});

