標籤:android 布局 控制項
昨天筆記本主板壞了,各種煩心事搞得一團糟,部落格也沒有接著更!不過不幸中的萬幸是:在筆記本主板壞之前,將前一周的筆記上傳上來了!周六要交項目,小白的我,還在一點一點看基礎,亞曆山大啊!
五大布局需要注意的知識點:
線性布局:
LinearLayout是線性布局控制項,它包含的子控制項將以橫向或豎向的方式排列!
LinearLayout本身常用到的屬性:
android:orientation=”vertical”
—-該屬性決定它子類控制項的排布方式(vertical垂直;horizontal:水平)
android:gravity=”center”
—-該屬性決定他子類的xy的位置。
常用到的幾個屬性值:
1>center_vertical:垂直(Y軸)置中
2>center_horizontal:水平(X軸)置中
3>center:水平垂直都置中
4>right:子類控制項位於當前布局的右邊
5>left:子類控制項位於當前布局的左邊
6>bottom:子類控制項位於當前布局的下面
layout_weight
使用的時候,注意layout_height的值。
當layout_height為match_parent
是當前layout_weight的反比
當layout_height為wrap_content
是當前layout_weight的正比
layout_gravity調整該布局相對父布局的位置
gravity是調整該布局中子布局的位置。
一個orientation為horizontal的LinearLayout中有一個textView,則設定TextView的 layout_gravity屬性為right 不起作用 !
因為水平的LinearLayout要從左邊開始依次放置布局,所以TextView的layout_gravity屬性為right不起作用!
layout_alignBottom=”@+id/id1”
layout_alignBaseline=”@+id/id1”
layout_toRightOf=”@+id/id1”
相對布局裡面的子布局有gravity屬性。
@+id是在R.java中添加id,@id表示引用現有id。
toLeftOf是在左邊,toRightOf是在右邊
幀布局(FrameLayout )在這個布局中,所有的子項目都不能被指定位置的位置,他們統統放在這塊地區的左上方,並且後面的子項目直接覆蓋在前面的子項目之上,將前面的子項目部分或全部遮擋!
framelayout 沒有gravity屬性。
framelayout 如何設定前景圖:使用android:foreground
absolutelayout 絕對布局:也叫座標布局,可以直接指定子項目的絕對位置(xy)
有缺陷,不推薦使用。
由於手機螢幕尺寸差別很大,在螢幕適配上有缺陷。
absolutelayout子類控制項屬性:
android:layout_x
android:layout_y
TableLayout 表格版面配置
表格版面配置模型以行列的形式 管理子控制項,每一行為一個tableRow的對象,當然也可以是一個其他View的對象。
tableLayout 的屬性(全域屬性)
android:collapseColumns=”1,2”
隱藏二三列的索引列。因為下標是從第0列開始的。必須用逗號分隔開:1,2,5
android:shrinkColumns=”1,2”
收縮二三列的索引列。因為下標是從第0列開始的。當可收縮的列太寬(內容太多)不會被擠出螢幕,列必須用逗號隔開,可以通過* 來表示收縮所有列。
一列能同時表示收縮和展開。
android:stretchColumns=”1,2”
展開二三列的索引列。因為下標是從第0列開始的。從0開始的索引列。以填滿剩下的多餘空白空間,列必須用逗號隔開。可以通過*來表示展開所有列。
0 即是第一列。
tablelayout的局部屬性:內部空間所用的屬性
android:layout_column=”1” 該控制項顯示在第2列
android:layout_span=”2” 該控制項佔據2列
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
android學習筆記NO.4