我之前问过:
是否可以在 Android XML 中仅用一行设置“边距”和“填充”。
...根据 @MikeM. 的评论,这似乎不可能用 XML 来实现。
现在问同样的问题,但用 Java 代码代替:
假设您在 Andriod ConstraintLayout 中有一个 ImageView 或 Button。
是否可以在 Java 代码中分别使用一个命令来设置“Margin”和“Padding”属性?例如
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);
对于填充,您可以使用 View.setPadding:
view.setPadding(left, top, right, bottom)
请注意,边距由 ViewGroups 管理,填充由 Views 管理。