android 常见布局及控件的属性详解

时间:2022-05-28 04:35:02

作者:盖伟麟

常见的布局有四种


 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指定外边距