Layout,翻譯爲中文的意思是 佈局,安排,版面設計。對於許多的組件的命令,都有Layout_x和x 的區別,而許多的區別很明顯,直接是Layout是相對於父容器(通常就是整個xml的佈局)的改變,一個是相對於組件自己的改變。比較典型的就是gravity和layout_gravity,固然也有例外的 ,好比Layout_margin和panding。html
對於每一個組件,能夠獨自的使用Layout _width ,layout_heigh直接的設置相對於父容器的大小,android
設置爲 wrap_content或者 match_parent. 可是heigh ,width不能設置這樣設置,不能設置相對於父容器,不然會產生佈局
error: Error: String types not allowed (at 'width' with value 'wrap_content')。字體
而且,一個組件能夠只有Layout _width ,layout_height。但卻不能只有heigh ,width,而沒有Layout _width ,layout_height,由於那樣的組件會看不到。若是你要使用heigh ,width的話,就要先設置Layout _width ,layout_height,把heigh ,width用來做爲組件的微調使用。spa
Xml:.net
[html] view plaincopyprint?翻譯
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 設計
android:layout_width="match_parent" orm
android:layout_height="match_parent" xml
android:orientation="vertical" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello talk"
android:textColor="#482" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:height="80dp"
android:text="hello talk"
android:textColor="#810"
android:width="80dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello talk"
android:textColor="#482" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:height="80dp"
android:text="hello talk"
android:textColor="#810"
android:width="80dp" />
</LinearLayout>
截圖:
能夠看出來不是改變的字體,而是直接改變的組件本生,但在TextvView中,好像效果不是很明顯。
咱們知道,其實在設置寬高的時候,咱們是能夠直接的把寬高設置爲定製爲:xdp,在這方面,Layout _width ,layout_height或者heigh ,width同樣均可以設置。
至於還有其餘的區別,有待發現中,呵呵!!
去網上找了下相關的,有這種說法:
若還要講講二者的區別的話,那就是:
android:width 的值,通常是 "100dp" 這樣的數值;
android:layout_width 的值,通常是"fill_parent","wrap_content","match_parent".固然,它也能夠像前者同樣,設置數值的.
帶"layout"的屬性是指整個控件而言的,是與父控件之間的關係,如 layout_gravity 在父控件中的對齊方式, layout_margin 是級別相同的控件之間的間隙等等;
不帶"layout" 的屬性是指控件中文本的格式,如gravity是指文本的對齊方式等等,而其中文本的格式又受制約於它的控件在父控件中的屬性.
至於說layout的屬性是針對文本的,在這個例子中沒有獲得很好證明,由於對文本設置了寬高爲 80dp,但是也沒啥效果啊。