Android笔记07-常用布局属性
概述:关于margin啊align啊padding啊之类属性的区分。顺带复习一下五大类布局。
RelativeLayout—相对布局
这种布局就是要确定参考点,然后其他组件相对此参考点摆放
gravity属性:可以设置组件居中、靠左、靠右
ignore_gravity属性:可以设置不受某组件影响
LinearLayout—线性布局
orientation属性:设置垂直(vertical)和水平(horizontal)布局,必要
layout_weight属性:设置不同组件的分配比例(填充剩余位置)
FrameLayout—帧布局
这种布局以坐标显示,可以一帧一帧地添加覆盖元素
foreground属性:设置前景图片颜色
TableLayout—表格布局
这种布局以表格的形式,只能跨列显示,意思是每一行都得有内容,但是不一定每一列都有内容
====行,设置有几行,可以内置其他组件
collspseColumns属性:隐藏某列
stretchColumns属性:类似填充剩余位置的功能,拉伸某个格子,通常使格子变大
shrinkColumns属性:使得格子变小,以显示其他单元格
小技巧:通常会在主要内容的单元格两边添加可以拉伸的格子,以保证内容单元格永远在中间,如下图所示:
空格子 | 有内容的格子 | 空格子 |
---|
这个格子可以拉伸 | 这里是内容 | 这个格子可以拉伸 |
GridLayout—网格布局
这个布局可以跨行跨列显示,意思是每行每列都可以缺点内容,跟TableLayout区分开来
columnCount属性:最大列
rowCount属性:最小列
以上的布局管理器,其实不能嵌套太多,因为会影响性能
经常混淆的一些属性
-
alignParentLeft:对其父元素紧贴,而且凡是出现parent字样的都回答TRUE or FALSE -
layout_below:相对某一个元素(在xxx之下) -
layout_toLeftOf :相对某一元素(在xxx之左) -
layout_alignTop :本元素的上边缘和某元素的的上边缘对齐,要回答一个id -
layout_marginTop:与某元素上边缘的距离,要回到一个具体像素值,如30dp -
layout_paddingLeft:相对边缘的距离,要回答一个像素值
以上仅出现在RelativeLayout(相对布局)中,凡是有layout_xxx的都是关于相对布局的
总结:
- margin是跟父元素有关的
- padding是跟边缘有关的
- align是紧贴着的意思
|