我知道这个问题之前已经被问过了,比如这样:
但我的问题是当我这样做时:
LayoutParams params = new LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT
);
params.setMargins(left, top, right, bottom);
显示params没有setMargins选项。有谁可以帮忙?
LayoutParams params = new LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT
);
params.setMargins(left, top, right, bottom);
我猜你可能漏掉了这一行
button.setLayoutParams(params);
LinearLayout.LayoutParams
或 RelativeLayout.LayoutParams
。 LayoutParams params = new LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT
);
params.setMargins(left, top, right, bottom);
Your_Layout.setLayoutParams(params);
我希望这能对你有所帮助。
对于 Kotlin,请执行以下操作:
val btn = Button(requireContext())
val lParams = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
)
val marginInDp = 5.toPx() // 5dp
lParams.setMargins(marginInDp,marginInDp,marginInDp,marginInDp)
在设置边距时要注意尺寸大小。一开始我设置了5像素(px),结果不起作用,后来发现太小了。
yourButton.setLayoutParams(params);
。 - Pankaj