第23講 ui_布局 之相對布局
2
、relativelayout
(相對布局):
relativelayout(相對布局)是指元件的位置總是相對兄弟元件、父容器來決定的(相對位置),如某個元件的左邊右邊,上邊下邊。相對布局是除線性布局之外最常用的,它相對於線性布局來說更加靈活,每個元件都可以指定與其它元件或父元件的位置,只是必須通過id來進行指定。相對布局的子控制項必須有唯一的id屬性以使規則正確應用。
【注意】:
1.當心迴圈規則,迴圈規則發生在兩個控制項具有互相指向的規則時。如果你在布局設計中使用了迴圈規則,你將會得到以下錯誤資訊:
illegalstateexception: circulardependencies cannot exist in a relativelayout(相對布局中不允許存在迴圈依賴)
2.使用相對布局代替巢狀線性布局以改進程式效能和響應能力。
表
1-1
元件之間的位置關係
屬性名稱
作用
android:layout_above
將元件放在指定id元件的上方
android:layout_below
將元件放在指定id元件的下方
android:layout_below="@id/button1"
android:layout_toleftof
將元件放在指定id元件的左方
android:layout_torightof
將元件放在指定id元件的右方
表
1-2
元件對齊方式
屬性名稱
作用
android:layout_alignbaseline
將該元件放在指定id元件進行中心線對齊
android:layout_aligntop
將該元件放在指定id元件進行頂部對齊
android:layout_alignbottom
將該元件放在指定id元件進行底部對齊
android:layout_alignleft
將該元件放在指定id元件進行左邊緣對齊
android:layout_alignright
將該元件放在指定id元件進行右邊緣對齊,
android:layout_alignright="@id/button2"
表
1-3
當前元件與父元件的對齊方式
屬性名稱
作用
android:layout_alignparenttop
該元件與父元件進行頂部對齊
android:layout_alignparentbottom
該元件與父元件進行底部對齊
android:layout_alignparentleft
該元件與父元件進行左邊緣對齊
android:layout_alignparentright
該元件與父元件進行右邊緣對齊,
android:layout_alignparentright="true"
android:layout_alignwithparentifmissing
參照控制項不存在或不可見時參照父控制項
表
1-4
元件放置的位置
屬性名稱
屬性名稱
android:layout_centerhorizontal
將該元件放置在水平方向**的位置
android:layout_centerhorizontal="true"
android:layout_centervertical
將該元件放置在垂直方向的**的位置
android:layout_centerinparent
將該元件放置在父元件的水平**及垂直**的位置
表
1-5
android:layout_marginleft
當前控制項左側的留白
android:layout_marginright
當前控制項右側的留白
android:layout_margintop
當前控制項上方的留白
android:layout_marginbottom
當前控制項下方的留白
相對布局之相對布局常用的兩組屬性
相對布局是通過指定當前控制項與兄弟控制項或者是父控制項之間的相對位置,從而達到控制控制項位置的目的 先看第一組屬性 android layout toleftof android layout torightof 將當前控制項的左邊緣對其id所指定控制項的右邊緣對齊 android layout b...
Xaml中UI布局之Grid
xaml中的grid控制項相當於html中的table標籤,用 的行列來控制布局。基本定義如下 grid x name grid1 grid.row 3 grid.column 3 height 300 margin 12,0,12,0 row,column屬性用來設定grid幾行幾列 grid.r...
Xaml中UI布局之StackPanel
xaml的布局中的panel布局不是一種布局,而且包含了幾種panel容器控制項,乙個個來說 1,stackpanel 堆布局 這個布局是比較簡單的布局模式,在這個stackpanel容器,控制項都是以一列,或者一行的方式來順序排列。stackpanel預設是垂直一列排列,通過設定orientati...