1. 程式人生 > >【原創】android裡layout_width和width的區別

【原創】android裡layout_width和width的區別

【】剛接觸android,遇到xml裡的android:layout_width和android:width,覺得他們類似,但是有說不出有什麼區別,google後覺得說的都不太明白,遂自己試驗,成果如下:

概括的說,view中的layout_width形容的是本view和父容器的關係,比如button和包含它的LinearLayout;而view中的width是用來描述自己本身的。

如果你有swing程式設計的經驗的話,就會知道,元件的大小是由包含它的佈局管理器決定的,所以,如果view中有layout_width屬性的話,不管有沒有width屬性,該view的形狀是由父容器(即佈局管理器LinearLayout)決定的,如下:

<Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:width="100dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="right"
        android:text="Bsdfsdfsdfsdfsdfsdfsdfsdf" />

 
如上圖,不管width設定的多小,button的寬度是LinearLayout控制的。

如果在android:layout_width設定為"wrap_content"時,意思是讓在容器中的view寬度隨著view中內容的變化而變化,此時,如果存在width的話,那麼view的寬度就是由他們共同控制的,如下:

 <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:width="50dp"
        android:layout_height="wrap_content"
        android:text="Bsdfsdfsdfsdfsdfsdfsdfsdf" />

 

 剛接觸android,理解的肯定不到位,歡迎高手拍磚。