Android Java 代码中“Margin”和“Padding”的命令和属性顺序

问题描述 投票:0回答:1

我之前问过:
是否可以在 Android XML 中仅用一行设置“边距”和“填充”

...根据 @MikeM. 的评论,这似乎不可能用 XML 来实现。

现在问同样的问题,但用 Java 代码代替:


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

是否可以在 Java 代码中分别使用一个命令来设置“Margin”和“Padding”属性?例如

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

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

  • 上、下、左(开始)、右(结束)?
  • 左(开始)、上、右(结束)、下?
java android layout padding margin
1个回答
3
投票

另一个问题的答案是“否”,除非您编写具有自定义布局属性的自定义 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 管理。

© www.soinside.com 2019 - 2024. All rights reserved.