Android布局中一些关键点总结:
1、线性布局:LinearLayout
是按照垂直或者水平进行布局的,默认是按照水平进行排布的
orientation:用来指定当前的线性布局排布的方向
wrap_content:包裹内容
match_parent:匹配父类
margin:表示控件距离其他的控件或者屏幕边缘的距离。---外边距
padding:表示为控件的内部内容距离控件的边缘距离。---内边距
gravity:表示控件的内部内容这对控件本身的对齐方式。
layout_gravity:表示该控件自身在父类布局中的对齐方式。
注意:如果线性布局的排布方式为水平,那么layout_gravity在水平方向上就不起作用,只有在垂直方向上有效果。
layout_weight:表示权重的概念,即按照百分比的形式进行划分。
如果控件划分的区域为match_parent,name权重越大,所占比例就会越小。
如果控件为wrap_content,权重越大,所占比例就会越大。
在一个页面中,有一个权重的控件和一个无权重的控件,系统会先给无权重的控件分配空间,然后才会得到需要百分比的空间大小来进行百分比的划分。
权重的概念只存在与线性布局重LinearLayout。
layout_width和layout_height是在平面图形重不可或缺的两个属性。任何图形显示都需要宽和高。
2、相对布局:RelativeLayout
按照控件之间的相互位置进行排布。存在一个参照物的概念。
centerInparent:位于父类的中部
alignParentRight:对齐父类的右方,其中方向性的单词可以更换。
toRightOf:在某个控件的右方,方向性的单词可以更换。
alignBootom:底部对齐。
alignRight:又不对齐。
@+id:表示的是系统重本来不存在的对应的id值,需要将这个id值添加到系统当中。
@id:表示从系统中取出已经添加好的id。
alighBaseLine:基准线对齐。
针对相对布局而言。一般都不会过多的给定很多相关联的属性。否则耦合性就会大大增加。
3、FrameLayout:帧布局
默认是按照左上角(0,0)开始排布。
在帧布局空定义的控件每一个都是以画面的形式进行呈现。
最开始定义的控件出现在最下方哪个,最后定义的控件出现的最上面。
帧布局可以使用在手机联系人的导航显示上字母的呈现。
帧布局使用在帧动画。
4、TableLayout
继承自LinearLayout
stretchColumns:拉伸某一列。让布局显得不紧凑。
shrinkColumns:回缩某一列,让整体的内容都得以呈现。
collapseColumns:隐藏某一列
TableRow的宽和高可以不指定,系统会自动给定对应的宽和高。
5、绝对布局:AbsoluteLayout
根据绝对的像素点位置进行排布。
默认以左上角为起点。
使用的时候一般会通过Layout_x和Layout_y来制定对应的控件存放的位置。
不利于屏幕适配。
6、GridLayout:网格布局
在4.0之后出现的布局。
columnCount:存在多少列
RowCount:存在多少行
layout_rowSpan:占据多少行
layout_columnSpan:占据多少列
GridLayout和TableLayout有什么不同?
TableLayout定义TableRow来呈现内容。
GridLayout中可以定义控件来直接使用。
表格布局中只能合并列不能合并行。
但是网格布局中既能合并列也能合并行。