Layout _width ,Layout_height和heigh ,width 區別:
Layout,翻譯為中文的意思是 佈局,安排,版面設計。對於許多的元件的命令,都有Layout_x和x 的區別,而許多的區別很明顯,直接是Layout是相對於父容器(一般就是整個xml的佈局)的改變,一個是相對於元件本身的改變。比較典型的就是gravity和layout_gravity,當然也有例外的 ,比如Layout_margin和panding。
對於每個元件,可以獨自的使用Layout _width ,layout_heigh直接的設定相對於父容器的大小,
設定為 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用來作為元件的微調使用。
Xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" 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,可是也沒啥效果啊。