android中padding和margin的理解

在android安排控件佈局時,padding和margin常常被用到。android

其具體解釋能夠經過一張圖展示,以下,web

兩個屬性表示的意義與web編程相同。編程

深刻理解:佈局

padding約束的是控件或佈局顯示的內容距離邊框的距離,沿垂直邊框向內壓縮,padding越大,內容顯示控件越小;spa

margin這是沿垂直邊框向外延伸的距離, 它的意思就是給控件加了一個必定距離的空白邊,顯示效果只與值大小正負相關,與其餘元素邊界無關。orm

值得注意的是,padding值的範圍[0,任意正數](默認爲0),而margin的值則有正有負。blog

想理解負值,首先要理解0值,當margin=「0dip」時,控件外延擴展的邊爲0,也就是邊界挨着其它邊緣;ip

margin>0,是給控件添加白邊,讓其外延變大,過大時會影響到整個控件顯示大小;ci

margin<0,通常用於單一方向顯示,也就是將該控件與其相鄰控件的距離是負值,從顯示效果講就是覆蓋某一方向上其它控件。it

總言之,這兩個屬性是某個控件的屬性,控制的只是該控件的顯示,表示的意義也不牽扯父控件或其它相鄰控件,因此理解時要注意,不要混淆。

 

Start和End則是變化的相對概念,以下,
  1. paddingStart & paddingEnd 是根據左右對齊方式來起做用的(Level-API-17 )
  2. 左對齊時, paddingStart 對應 paddingLeft, paddingEnd 對應 paddingRight
  3. 右對齊時, 正好相反 

以上我的理解,轉載註明出處,多謝。

相關文章
相關標籤/搜索