1. 程式人生 > >線性佈局LinearLayout和相對佈局RelativeLayout 比較

線性佈局LinearLayout和相對佈局RelativeLayout 比較

LinearLayout和RelativeLayout

共有屬性
java程式碼中通過btn1關聯次控制元件
android:id="@+id/btn1"

控制元件寬度
android:layout_width="80px" //"80dip"或"80dp"
android:layout_width =“wrap_content”
android:layout_width =“match_parent” 

控制元件高度
android:layout_height="80px" //"80dip"或"80dp"
android:layout_height =“wrap_content”
android:layout_height =“match_parent” 

控制元件排布
android:orientation="horizontal”
android:orientation="vertical“

控制元件間距
android:layout_marginLeft="5dip" //距離左邊
android:layout_marginRight="5dip" //距離右邊
android:layout_marginTop="5dip" //距離上面
android:layout_marginRight="5dip" //距離下面

android:paddingLeft="5dip"


控制元件顯示位置
android:gravity="center" //left,right, top, bottom
android:gravity="center_horizontal"

android:layout_gravity是本元素對父元素的重力方向。
android:layout_gravity屬性則設定控制元件本身相對於父控制元件的顯示位置
android:gravity是本元素所有子元素的重力方向。

android:layout_gravity="center_vertical"
android:layout_gravity="left"
android:layout_gravity="left|bottom"


TextView中文字字型
android:text="@String/text1" //在string.xml中定義text1的值
android:textSize="20sp"
android:textColor=”#ff123456”
android:textStyle="bold" //普通(normal), 斜體(italic),粗斜體(bold_italic)

TextView中,控制其以...結束

android:ellipsize="end"

只有一行

android:singleLine="true"

定義控制元件是否可見
android:visibility=”visible” //可見
android:visibility=”invisible”  //不可見,但是在佈局中佔用的位置還在
android:visibility=”gone”   //不可見,完全從佈局中消失

定義背景圖片
android:background="@drawable/img_bg" //img_bg為drawable下的一張圖片

seekbar控制元件背景圖片及最大值
android:progressDrawable="@drawable/seekbar_img" 
android:thumb="@drawable/thumb"     
android:max = "60"

android:layout_alignWithParentIfMissing="true"

僅在RelativeLayout中有效


在父親佈局的相對位置
android:layout_alignParentLeft="true" //在佈局左邊
android:layout_alignParentRight="true" //在佈局右邊
android:layout_alignParentTop="true" //在佈局上面
android:layout_alignParentBottom="true " //在佈局的下面

在某個控制元件的相對位置
android:layout_toRightOf="@id/button1" //在控制元件button1的右邊,不僅僅是緊靠著
android:layout_toLeftOf="@id/button1" //在控制元件button2的左邊,不僅僅是緊靠著
android:layout_below="@id/button1 " //在控制元件button1下面,不僅僅是正下方
android:layout_above=“@id/button1” //在控制元件button1下面,不僅僅是正下方

定義和某控制元件對奇
android:layout_alignTop=”@id/button1” //和控制元件button1上對齊
android:layout_alignBottom=”@id/button1” //和控制元件button1下對齊
android:layout_alignLeft=”@id/button1” //和控制元件button1左對齊
android:layout_alignRight=”@id/button1” //和控制元件button2右對齊


android:layout_centerHorizontal="true"   //水平居中
android:layout_centerVertical="true"
android:layout_centerInParent="true" 

僅在LinearLayout中有效
設定控制元件在一排或一列中所佔比例值
android:layout_weight="1"