view.getLayoutParams().width not working with nougat

8.3k Views Asked by At

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?

2

There are 2 best solutions below

2
On

Try to call after setting width and height:

view.requestLayout()
1
On

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