作者:盖伟麟
常见的布局有四种
LinearLayout 线性布局 子元素任意;
TableLayout 表格布局 子元素为<TableRow>,其中可放各种控件;
RelativeLayout 相对布局 子元素任意;
AbsoluteLayout 绝对布局 子元素任意;
公共控件属性
android:id = "@+id/XXX" 程序中通过ID来关联控件
android:layout_width/android:layout_height 控制控件的宽度/高度,可选"wrap_content"/"fill_parent"/"match_parent"/具体像素
android:layout_marginLeft/Right/Top/Bottom =“5dip” 各边距离其他控件的距离
android:gravity 控件中内容的显示位置
android:textSize 空间中文本大小
android:textColor = "#ff123456" 空间中文本颜色,以#开头,前两位为透明值,后六位为颜色值
android:textStyle ="normal"/"bold"/"italic" 控件文本风格,也可用“|”将属性组合起来
android:text 控件文本内容
android:background = "@drawable/window_bg" 控件背景
android:src = "@drawable/window_bg" 控件图片,用于ImageButton,ImageView等需要图片的控件
android:visibility 控件可见性,"visible"表可见,"invisible"表不可见,但在布局中占用的位置还在,"gone"表不可见,完全从布局中消失
android:padding 控件中内容与控件边框的距离
android:weight 指定画完控件后剩余空间的分配所占比例
android:ems/maxEms/minEms 控制控件宽度
LinearLayout特有属性
android:orientation 布局中子控件排布方向
TableLayout特有属性
android:stretchColums 指定当一个TableRow中的控件不够填充满整个宽度时,将会被拉伸的条目
RelativeLayout特有属性
android:layout_alignParentLeft/Right/Top/Bottom= "true" 控件在布局中的相对位置(与父控件对齐)
android:orientation 布局中子控件排布方向
android:layout_toRightOf/toLeftOf/below/above= "@id/buttonOne" 控件和某个控件的位置关系,其中在左边/右边包含但不仅限于紧靠,在上方/下方包含但不仅限于正上方/正下方
android:layout_alignTop/Bottom/Left/Right/Baseline= "@id/buttonOne" 控件与其他控件对齐
android:layout_centerHorizontal/Virtical/InParent 指定控件位于水平/垂直/父控件的中间位置
AbsoluteLayout特有属性
android:layout_X/Y 控件的X,Y坐标
辨析与技巧
单个控件的风格设置通过在布局文件的控件中添加style属性,整个Activity或者App的主题设置通过在manifest文件中的Theme设置
android:gravity设置控件中内容的对齐方式,android:layout_gravity设置控件本身的对齐方式
当android:gravity和android:padding同时做用时,先按gravity进行排布,再按padding调整
android:padding指定内边距,android:layout_margin指定外边距