【原創】android裡layout_width和width的區別
阿新 • • 發佈:2019-02-18
【】剛接觸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,理解的肯定不到位,歡迎高手拍磚。