我怎么知道getLayotParams((是否返回对有效参数的引用,或者它只是参数的深层副本?
说:
MarginLayoutParams layoutParams = (MarginLayoutParams) getView().getLayoutParams();
layoutParams.leftMargin = horizontalMargin;
layoutParams.rightMargin = horizontalMargin;
够了,还是也需要这条线?
parent.setLayoutParams(layoutParams);
getLayoutParams
返回实际的LayoutParams
,而不是深层副本。但是,更新参数不会触发布局,您必须调用requestLayout
,当您使用setLayoutParams
时会自动调用。
因此,如果要修改值并应用它们,则需要调用setLayoutParams
或使用requestLayout
触发布局。
如果您使用 Kotlin,您也可以使用updateLayoutParams
扩展函数。