原文: http://hi.baidu.com/doyee/blog/item/9d42798bff980718c8fc7a82.html
LinearLayout有兩個非常相似的屬性:android:gravity與android:layout_gravity。他們的區別在于:android:gravity用于設置View組件的對齊方式,而android:layout_gravity用于設置Container組件的對齊方式。
舉個例子,我們可以通過設置android:gravity="center"來讓EditText中的文字在EditText組件中居中顯示;同時我們設置EditText的android:layout_gravity="right"來讓EditText組件在LinearLayout中居中顯示。來實踐以下:
正如我們所看到的,在EditText中,其中的文字已經居中顯示了,而EditText組件自己也對齊到了LinearLayout的右側。
<LinearLayout
xmlns:android="
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:layout_width="wrap_content"
android:gravity="center"
android:layout_height="wrap_content"
android:text="one"
android:layout_gravity="right"/>
</LinearLayout>
這兩個屬性也可以用于 Framlayout Textview 等等,表示的意思大同小異
android:layout_gravity是用來設置該view相對與起父view 的位置.比如一個button 在linearlayout里,你想把該button放在靠左 靠右等位置就可以通過該屬性設置.
這樣就解釋了,有什么我們弄個最外布局,然后里面包了幾個布局,如果要使這幾個布局都靠底,就可以在最外布局的屬性里設置androi:gravity="botton" 因為gravity是對里面的內容起作用.
而margin表示的是view的左邊緣與parent view的左邊緣的距離
margin一般用來描述控件間位置關系,而padding一般描述控件內容和控件的位置關系。
缺省的App Widgets所在窗口的桌面位置基于有確切高度和寬度的單元網格。如果App Widget的最小長寬和這些網格單元的尺寸不匹配,那么這個App Widget將收縮到最接近的單元尺寸。(參見App Widget Design Guidelines 以獲取更多關于桌面單元尺寸的信息)
因為桌面布局方向(由此,單元的尺寸)可以變化,按照拇指規則,你應該假設最壞情況單元尺寸是74像素高和寬。不過,你必須從最后的尺寸中減去2以把像素計算過程中產生的任何的整數舍入誤差考慮在內。要找到像素密度無關的最小寬度和高度,使用這個公式:
(number of cells * 74) - 2
遵循這個公式,你應該使用72dp為每一個單元高度,294dp為四個單元寬度。
原文:http://developer.51cto.com/art/201005/213625_1.htm