view.getLayoutParams().width not working with nougat

Ravi picture Ravi · Dec 30, 2016 · Viewed 7.1k times · Source

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?

Answer

Apoorv Mehrotra picture Apoorv Mehrotra · Dec 30, 2016

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