跟我學Android之六 佈局

視頻課:https://edu.csdn.net/course/play/7621

本章內容

第1節  線性佈局
第2節  相對佈局
第3節  幀佈局
第4節  表格佈局
第5節  網格佈局






線性佈局 


線性佈局使用<LinearLayout>標籤進行配置,對應代碼中的類是android.widget.LinearLayout,線性佈局分爲水平和垂直兩種方向。

線性佈局的常用屬性如下: 

android:orientation 表示佈局方向,取值vertical表示垂直佈局,取值horizontal表示水平佈局。 
android:gravity 表示視圖的對齊方式 
內容包括:top、bottom、left、right、center_vertical、center_horizontal、center,可以使用|分隔填寫多個值 
佈局中的視圖可以使用如下屬性 

android:layout_gravity 表示單個視圖的對齊方式,android:layout_weight 表示單個視圖所在大小的比重,當layout_weight爲0時,視圖大小由自身確定,當layout_weight大於0時,視圖在線性佈局方向上根據比重拉伸





相對佈局 

相對佈局是一種通過設置相對位置進行的佈局,相對佈局使用<RelativeLayout>標籤進行配置,對應代碼中的類是android.widget.RelativeLayout,佈局中的視圖通過設置相互間的相對位置進行排列,相對的排列位置,相對的對齊方式;相對佈局使用拖放式比較方便。


相對佈局內視圖可用的常用屬性如下: 

與位置相關的屬性
android:layout_above 表示在目標組件之上 
android:layout_below 表示在目標組件之下 
android:layout_toLeftOf 表示在目標組件的左邊 
android:layout_toRightOf 表示在目標組件的右邊


與對齊相關的屬性 

android:alignBaseLine 表示與目標組件的基線對齊 
android:alignBottom 表示與目標組件的底邊對齊 
android:alignTop 表示與目標組件的頂邊對齊 
android:alignLeft 表示與目標組件的左邊對齊 
android:alignRight 表示與目標組件的右邊對齊 
android:layout_centerHorizontal 表示在相對佈局容器內水平居中 

android:layout_centerVertical 表示在相對佈局容器內垂直居中







幀佈局

幀佈局是一種把視圖層疊起來顯示的佈局

使用<FrameLayout>標籤進行配置,對應的類是android.widget.FrameLayout,佈局中的視圖按照書寫的先後順序排列,先加入的顯示在底層,最後加入的顯示在頂層,每一個視圖都可以針對佈局容器設置擺放位置


幀佈局的常用屬性

android:foreground 用於表示幀佈局最頂層的覆蓋層

android:foregroundGravity 用於表示覆蓋層內容的位置

幀佈局內視圖可用的常用屬性如下:

android:layout_gravity 表示視圖的位置,內容包括:top、bottom、left、right、center_vertical、center_horizontal、center,可以使用|分隔填寫多個值

佈局文件:





<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><TextViewandroid:layout_gravity="center"android:layout_width="300dp"android:layout_height="300dp"android:background="#FF0000"android:text="@string/tip1" />……</FrameLayout>
</pre><pre code_snippet_id="1741515" snippet_file_name="blog_20160702_4_51180" name="code" class="html">


表格佈局

表格佈局是一種行列方式排列視圖的佈局,使用<TableLayout>和<TableRow>標籤進行配置,對應的類是android.widget.TableLayout,一對<TableRow>標籤包含着一行中顯示的視圖。

表格佈局的常用屬性

android:stretchColumns 用於指定可以被拉伸的列,可以被拉伸的列在屏幕還有空白區域時被拉伸充滿,列通過0開始的索引值表示,多個列之間用逗號隔開。

android:shrinkColumns 用於指定可以被壓縮的列,當屏幕不夠用時,列被壓縮直到完全顯示

android:collapseColumns 用於表示可以被完全摺疊的列

表格佈局內視圖可用的常用屬性如下:

android:layout_column 指定列索引號,由於有些行可能列數量不全,這時候需要給列指定索引號

網格佈局


網格佈局由GridLayout代表,它是Android 4.0新增的佈局管理器.,使用<GridLayout>標籤進行配置,對應的類是android.widget.GridLayout

網格佈局常用屬性如下:



android:columnCount設置該網格的列數量



android:rowCount設置該網格的行數量





網格佈局內子視圖的常用屬性如下:


XML屬性                                 說  明
android:layout_column 設置該子組件在GridLayout的第幾列
android:layout_columnSpan 設置該子組件在GridLayout橫向上跨幾列
android:layout_gravity 設置該子組件採用何種方式佔據該網格的空間
android:layout_row 設置該子組件在GridLayout的第幾行
android:layout_rowSpan 設置該子組件在GridLayout縱向上跨幾行





通過網格佈局實現如下圖的視圖界面


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章