【问题标题】:Advanced Explanation of Android Layout Properties?Android布局属性的高级解释?
【发布时间】:2011-02-17 21:55:50
【问题描述】:

我正在学习如何在 Android 中正确布局组件。我是一名经验丰富的 CSS/MXML 开发人员,并且很难全面了解 Android 组件中的布局属性。

有一件事是我不确定它们之间的区别:

  • layout_margin 与填充
  • layout_gravity vs.gravity vs.ignoreGravity

您应该在线性、表格或相对布局中使用一个而不是另一个?我想学习的一个例子是在布局上有一个整体边距,其中包含与屏幕顶部/中间/底部相关的单独组件。 sdk 文档是一个好的开始,但它们并没有展示在不同情况下的工作方式。

关于去哪里学习更复杂/全面的布局设计的任何提示?

【问题讨论】:

    标签: android android-layout android-styles


    【解决方案1】:

    任何带有前缀layout_ 的属性都是LayoutParams 属性。虽然大多数视图属性在视图构建期间由视图本身解析,但 LayoutParams 是父视图的特殊参数,它提供有关父视图应如何调整子视图大小和位置的提示。哪些 LayoutParams 在视图上有效完全取决于父视图的类型。

    layout_margin 因此是对支持边距的父视图的指令。它说,“在我和其他视图或父母的边缘之间放置这么多空间。”填充是视图之间的空间 视图的边缘及其内容。

    layout_gravity 是其父级中单个子级的重力。 gravity 会影响它出现的视图的内容。

    您使用哪一种取决于您想要达到的结果。如果您希望布局在其边缘和所有内容之间具有固定数量的空间,则需要填充。如果要将布局自身的边缘移动一定距离,则需要边距。当您有没有设置背景的布局时,这两者在视觉上是等效的。当您开始创建复杂的 UI 时,其中的布局具有 9 个补丁背景,可以直观地对内容进行分组,差异就会变得明显。

    【讨论】:

      【解决方案2】:

      我希望你能看到内边距和边距之间的区别。内边距在间距内,边距在外间距。

      【讨论】:

        猜你喜欢
        • 2021-05-03
        • 1970-01-01
        • 2020-05-07
        • 1970-01-01
        • 1970-01-01
        • 2021-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多