Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

view.getLayoutParams().width not working with nougat

I have written code to set height and width of view dynamically

view.getLayoutParams().width = 120;
view.getLayoutParams().height = 120;

It works perfectly with below nougat devices, but with nougat it is not working. It is just taking height and width as 0. Any changes after nougat update?

Update :

However it works

1) when i am using view.requestLayout() after setting height and width
2) view.setLayoutParams(new LinearLayout.LayoutParams(200, 120));

So why it is working on pre nougat devices without using these 2 options?

like image 618
Ravi Avatar asked Dec 30 '16 10:12

Ravi


2 Answers

Try to call after setting width and height:

view.requestLayout()
like image 160
kenzo Avatar answered Nov 15 '22 20:11

kenzo


try this

view.setLayoutParams(new LinearLayout.LayoutParams(200, 120));

or this

ViewGroup.LayoutParams params = view.getLayoutParams();
params.height = 130;
params.width = 130;
view.setLayoutParams(params);

hope it helps you out

like image 26
Apoorv Mehrotra Avatar answered Nov 15 '22 19:11

Apoorv Mehrotra