標籤:
android:width 其實是定義控制項上面的文本(TextView) 的寬度,當然這個寬度也是和 android:layout_width 配合起來作用的,如果 android:layout_width="fill_parent" 的話,那麼設定 android:width 是沒有意義的
android:layout_width 其實是可以實現 android:width 的效果的,我覺得這應該是為什麼在 android 執行個體中看不到有人用 android:width 的原因吧。
若還要講講兩者的區別的話,那就是:
android:width 的值,一般是 "100dp" 這樣的數值;
android:layout_width 的值,一般是"fill_parent","wrap_content","match_parent".當然,它也可以像前者一樣,設定數值的.
帶"layout"的屬性是指整個控制項而言的,是與父控制項之間的關係,如 layout_gravity 在父控制項中的對齊, layout_margin 是層級相同的控制項之間的間隙等等;
不帶"layout" 的屬性是指控制項中文本的格式,如gravity是指文本的對齊等等,而其中文本的格式又受制約於它的控制項在父控制項中的屬性.
借用一位大牛的樣本:http://zhangcong170.iteye.com/blog/423173
[html] view plaincopyprint?
- <?xml version="1.0" encoding="utf-8"?>
- <!--
- <LinearLayout>
- 線性版面配置,在這個標籤中,所有元件都是按由上到下的排隊排成的
- -->
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <!-- android:orientation="vertical" 表示豎直方式對齊
- android:orientation="horizontal"表示水平方式對齊
- android:layout_width="fill_parent"定義當前視圖在螢幕上 可以消費的寬度,fill_parent即填充整個螢幕。
- android:layout_height="wrap_content":隨著文字欄位的不同 而改變這個視圖的寬度或者高度。有點自動化佈建框度或者高度的意思
-
- layout_weight 用於給一個線性布局中的諸多視圖的重要度賦值。
-
- 所有的視圖都有一個layout_weight值,預設為零,意思是需要顯示
- 多大的視圖就佔據多大的螢幕空 間。若賦一個高於零的值,則將父視
- 圖中的可用空間分割,分割大小具體取決於每一個視圖的layout_weight
- 值以及該值在當前螢幕布局的整體 layout_weight值和在其它視圖螢幕布
- 局的layout_weight值中所佔的比率而定。
-
- 舉個例子:比如說我們在 水平方向上有一個文字標籤和兩個文本編輯元素。
- 該文字標籤並無指定layout_weight值,所以它將佔據需要提供的最少空間。
- 如果兩個文本編輯元素每一個的layout_weight值都設定為1,則兩者平分
- 在父視圖布局剩餘的寬度(因為我們聲明這兩者的重要度相等)。如果兩個
- 文本編輯元素其中第一個的layout_weight值設定為1,而第二個的設定為2,
- 則剩餘空間的三分之二分給第一個,三分之一分給第二個(數值越小,重要
- 度越高)。
- -->
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_weight="1">
- <TextView
- android:text="red"
- android:gravity="center_horizontal"
- android:background="#aa0000"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_weight="1"/>
-
- <TextView
- android:text="green"
- android:gravity="center_horizontal"
- android:background="#00aa00"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_weight="1"/>
-
- <TextView
- android:text="blue"
- android:gravity="center_horizontal"
- android:background="#0000aa"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_weight="1"/>
-
- <TextView
- android:text="yellow"
- android:gravity="center_horizontal"
- android:background="#aaaa00"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_weight="1"/>
-
- </LinearLayout>
-
- <LinearLayout
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_weight="2">
-
- <TextView
- android:text="row one"
- android:textSize="15pt"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"/>
-
- <TextView
- android:text="row two"
- android:textSize="15pt"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"/>
-
- <TextView
- android:text="row three"
- android:textSize="15pt"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"/>
-
- <TextView
- android:text="row four"
- android:textSize="15pt"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"/>
-
- </LinearLayout>
-
- </LinearLayout>
[轉]Android中的android:layout_width和android:width