Android 佈局是開發中很是重要的一個知識部分,它的佈局分爲如下幾種: android
Linear Layout:線性佈局
Relative Layout:相對佈局
Table Layout:表格佈局
Grid View:網格佈局
Tab Layout:選項卡布局
List View:列表佈局 佈局
以下圖: spa
簡單來講,直着排,橫着排均可以,還能夠嵌套,此佈局運用的很是多。 code
下面直接上示例代碼及截圖:
xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#aa0000" android:gravity="center_horizontal" android:text="red" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#00aa00" android:gravity="center_horizontal" android:text="green" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#0000aa" android:gravity="center_horizontal" android:text="blue" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#aaaa00" android:gravity="center_horizontal" android:text="yellow" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="row one" android:textSize="15pt" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="row two" android:textSize="15pt" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="row three" android:textSize="15pt" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="row four" android:textSize="15pt" /> </LinearLayout> </LinearLayout>
下面詳細詳解這些配置的含義: three
LinearLayout 標籤的經常使用屬性
android:orientation="horizontal":定義方向水平或垂直(horizontal/vertical )
android:layout_width="fill_parent" :寬度填充滿父控件的寬度
android:layout_height="fill_parent":寬度填充滿父控件的高度
android:layout_weight="1":重量?可解釋爲權重,這是個什麼意思呢,請看下圖 utf-8
我將這裏的配置變了一下, 開發
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#aa0000" android:gravity="center_horizontal" android:text="red" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="2" android:background="#00aa00" android:gravity="center_horizontal" android:text="green" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="3" android:background="#0000aa" android:gravity="center_horizontal" android:text="blue" /> <TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="4" android:background="#aaaa00" android:gravity="center_horizontal" android:text="yellow" /> </LinearLayout>
再看一下TextView的解釋 it
<TextView android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_weight="1" android:background="#aa0000" android:gravity="center_horizontal" android:text="red" />
android:text="red":要顯示的內容
android:gravity="center_horizontal":顯示內容的對齊方式
android:background="#aa0000" :背景色
android:layout_width="wrap_content":寬度,包括本身的內容的寬度
android:layout_height="fill_parent":高度,填充父控件的高度
android:layout_weight="1":權重 io
其實含義若是懂些CSS屬性的話,仍是蠻好懂的,佈局跟Div有點相似
//相似一個外層DIV,裏面的內容垂直佈局android:orientation="vertical"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > //相似第一個子DIV,內容水平佈局android:orientation="horizontal" <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal" > </LinearLayout> //相似第二個子DIV,內容垂直佈局android:orientation="vertical" <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="vertical" > </LinearLayout> </LinearLayout>