Android布局中margin與padding的區(qū)別及說明
margin與padding的區(qū)別及說明
我們知道Android開發(fā)不僅僅有代碼的動態(tài)控制,而且還涉及到布局的靜態(tài)搭建(xml)。
幾乎在每一個xml文件中,我們總會看到margin和padding這兩個屬性,今天讓我們初步探究一下它們之間的區(qū)別。
首先為了便于說明,我們先畫一個三層布局,如下圖。

這里布局的意思是廣義的,泛指View等等。
padding的含義

在日常英語中,padding的含義為“墊料”,“襯料”等。
在Android布局中,padding意味著該屬性所在的主控件中內(nèi)部布局(子控件)的邊距。
如上圖,當(dāng)我們設(shè)置布局2的padding屬性時,其實影響的是在其內(nèi)部的布局3與布局2的距離,其中黑線表示paddingLeft的具體的左邊距值。
當(dāng)上下左右padding值都相等時,可以用padding代替這四個。
即:
android:paddingLeft = “10dp” android:paddingRight = “10dp” android:paddingTop = “10dp” android:paddingBottom = “10dp”
與
android:padding = “10dp”
是等價的。
margin的含義

margin與padding屬性恰恰相反。
在Android布局中,margin意味著該屬性所在的主控件里外部布局(父控件)的邊距。
如上圖,當(dāng)我們設(shè)置布局2的margin屬性時,其實影響的是在其外部的布局1與布局2的距離,其中黑線表示layout_marginLeft的具體的左邊距值。
同理,當(dāng)上下左右margin值都相等時,可以用margin代替這四個。
即:
android:marginLeft = “10dp” android:marginRight = “10dp” android:marginTop = “10dp” android:marginBottom = “10dp”
與
android:margin = “10dp”
也是等價的。
margin與padding的相對性
我們回頭再來看看這張布局圖,思考一個問題:
在布局2中設(shè)置padding和在布局3中設(shè)置margin的效果是相同的嗎?

5分鐘過去了。。我們來看一下實例演示:
padding:

margin:

其實android布局中有許多屬性都是具有相對性的,這次就先說這么多~!
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android Studio 3.0 原生支持kotlin 例子詳解
這篇文章主要介紹了 Android Studio 3.0 原生支持kotlin 例子詳解,非常具有實用價值,需要的朋友可以參考下2017-05-05
在RecyclerView中實現(xiàn)button的跳轉(zhuǎn)功能
本次實驗就是在RecyclerView中添加一個button控件并實現(xiàn)監(jiān)聽,使鼠標(biāo)點擊時可以跳轉(zhuǎn)到另外一個設(shè)計好的界面,對RecyclerView實現(xiàn)button跳轉(zhuǎn)功能感興趣的朋友一起看看吧2021-10-10
Android基礎(chǔ)控件(EditView、SeekBar等)的使用方法
這篇文章主要介紹了Android基礎(chǔ)控件的屬性及使用方法,介紹了基礎(chǔ)控件有TextView、ImageView、Button、EditView等,感興趣的小伙伴們可以參考一下2016-03-03

