我正在努力学习如何在Android中正确布局组件。我是一名经验丰富的CSS / MXML开发人员,我很难全面了解Android组件中的布局属性。
有一点是我不确定这些之间的区别:
你应该使用线性,表格或相对布局来使用其中一个吗?我想学习的一个例子是布局上的整体边距,其中包含与屏幕顶部/中部/底部相关的独立组件。 sdk文档是一个良好的开端,但它们并没有显示在不同情况下的工作方式。
有关在哪里学习更复杂/全面的布局设计的任何提示?
答案 0 :(得分:10)
前缀为layout_
的任何属性都是LayoutParams
属性。虽然视图本身在视图构造期间解析了大多数视图属性,但LayoutParams是父视图的特殊参数,它提供有关父级应如何调整子视图大小和位置的提示。哪个LayoutParams在视图上有效完全取决于父视图的类型。
layout_margin
是对支持边距的父视图的指令。它说,“在我和其他观点或父母的边缘之间留下这么大的空间。”填充是视图之间的空间
视图的边缘及其内容。
layout_gravity
是其父级中单个孩子的重力。 gravity
会影响其显示的视图内容。
您使用哪一个取决于您想要达到的结果。如果您希望布局在其边缘及其所有内容之间具有固定的空间量,则需要填充。如果要将布局自己的边缘移动一定距离,则需要边距。如果没有设置背景的布局,这两个可以在视觉上等效。当您开始创建复杂的UI时,布局具有9个补丁背景,可视化地分组内容,差异变得明显。
答案 1 :(得分:-1)
我希望你能看到填充和边距之间的区别。填充是内部间距,而边距是外部间距。