Android Java 代码中 "Margin" 和 "Padding" 的命令和 属性 命令

Command and Property order for "Margin" and "Padding" in Android Java Code

我之前问过:
Is it possible to set the "Margin" and "Padding" in Android XML with just one line each.

...根据@MikeM. 的评论,XML.

似乎无法做到这一点

现在是同一个问题,但用 Java 代码代替:


假设您在 Andriod ConstraintLayout 中有一个 ImageView 或一个 Button。

是否可以在 Java 代码中分别使用一个命令设置“边距”和“填充”属性?例如

layoutParams.margin="15,25,20,10"
layoutParams.padding="1,2,3,4"

然后属性会以什么顺序出现?

另一个问题的答案是“否”,除非您编写具有自定义布局属性的自定义 ViewGroup。一般来说,在Android环境下指定所有边时,边指定的顺序是“左、上、右、下”。我不认为这是一个规范的命令,但这是我的观察。

至于在 Java 中更改边距,其中 lp 是视图的布局参数:

lp.setMargins(left, top, right, bottom);
view.setLayoutParams(lp);

参见 ViewGroup.LayoutParams

对于填充,您可以使用 View.setPadding:

view.setPadding(left, top, right, bottom)

请注意,边距由 ViewGroups 管理,填充由 Views.

管理