安卓系统之五大布局
一、线性布局
//特点:线性布局必须要指定子控件的排列方向,要么是水平(horizontal)排列,要么是竖直(vertical)排列;
android:orientation=”vertical” //线性布局的排列方向:水平-horizontal、垂直-vertical
android:gravity="top" //属性值有(buttom、 left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical、clip_horizontal)控制布局中控件 的布局方式。如果没有子控件的控件设置此属性,表示其内容的对其方式,比如说TextView里面文字的对其方式;若是有子控件的控件设置此属性,则表示其子控件的对其方式,gravity如果需要设置多个属性,用||隔开;
android:gravity与android:layout_gravity的区别
android:gravity 是指本元素的子元素相对与它的对其方式。如:<TextView />控件内的文字对齐;
android:layout_gravity 是指本元素相对于它的父元素的对其方式。如:<TextView />本身和LinearLayout的对其方式;
android:layout_weight="1" 通过设置控件的android:layout_weight=""属性 ,用来控制各个控件在在布局中的相对大小。线性布局会根据该控件 android:layout_weight=""的值与其所处布局中所有控件android:layout_weight=""值之和的比值为该控件分配占用区域 。
比如:现在有三个文本框,第一个文本框weight=1,第二个文本框weight=2,第三个文本框weight=0;那么显示出来的效果是第三个文本框以实际尺寸显示,第二个文本框显示剩余空间的2/3大小,第二个文本框显示剩余空间的1/3大小。
总而言之,weight是用来按比例分配空间大小的属性;如何不设置则优先按照实际大小显示,然后在按照比例显示剩余空间;
如果LinearLayout包含子LinearLayout,子LinearLayout之间的权值越大的,重要度则越小。如果有LinearLayout A包含LinearLayout C,D,C的权值为2,D的权值为1,则屏幕的2/3空间分给权值为1的D,1/3分给权值为2的C。在LinearLayout嵌套的情况下,子LinearLayout必须要设置权值,否则默认的情况是未设置权值的子LinearLayout占据整个屏幕
Pasted from: http://jingyan.baidu.com/article/ce436649fbf1563773afd3be.html
二、相对布局
三、表格布局
四、帧布局/框架布局
五、绝对布局