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);
对于填充,您可以使用 View.setPadding:
view.setPadding(left, top, right, bottom)
请注意,边距由 ViewGroups 管理,填充由 Views.
管理
我之前问过:
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);
对于填充,您可以使用 View.setPadding:
view.setPadding(left, top, right, bottom)
请注意,边距由 ViewGroups 管理,填充由 Views.
管理