view.getLayoutParams().宽度不适用于nougat

Rav*_*avi 8 android layoutparams android-7.0-nougat

我编写了动态设置视图高度和宽度的代码

view.getLayoutParams().width = 120;
view.getLayoutParams().height = 120;
Run Code Online (Sandbox Code Playgroud)

它与下面的牛轧糖设备完美配合,但是用牛轧糖它不起作用.它只是将高度和宽度设为0.牛轧糖更新后的任何变化?

更新:

但是它有效

1)我view.requestLayout()在设置高度和宽度后使用
2)view.setLayoutParams(new LinearLayout.LayoutParams(200, 120));

那么为什么它不使用这两个选项就在前牛轧糖设备上工作呢?

Apo*_*tra 8

试试这个

view.setLayoutParams(new LinearLayout.LayoutParams(200, 120));
Run Code Online (Sandbox Code Playgroud)

或这个

ViewGroup.LayoutParams params = view.getLayoutParams();
params.height = 130;
params.width = 130;
view.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助你


小智 6

设置后尝试调用widthheight:

view.requestLayout()
Run Code Online (Sandbox Code Playgroud)