【问题标题】:Command and Property order for "Margin" and "Padding" in Android Java CodeAndroid Java 代码中“Margin”和“Padding”的命令和属性顺序
【发布时间】:2022-02-04 21:06:53
【问题描述】:

我之前问过:
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"

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

  • 上、下、左(开始)、右(结束)?
  • 左(开始)、上、右(结束)、下?

【问题讨论】:

    标签: java android layout padding margin


    【解决方案1】:

    除非您编写具有自定义布局属性的自定义 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 管理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-21
      • 2021-07-09
      • 2016-10-30
      • 2018-06-27
      • 2017-05-27
      • 2022-01-18
      • 2010-10-03
      • 1970-01-01
      相关资源
      最近更新 更多