Android中padding和margin的区别
一.padding和margin的区别图:
简单的理解:margin就是外面的距离,而padding就是里面的距离。
(二)基本概念的理解
android:layout_margin就是设置view的上下左右边框的额外空间
android:padding是设置内容相对view的边框的距离
padding,含义为“填充”,像垫肩压类似的填充物,一个控件的padding及此控件内部的填充,
由此可见padding是以所被定义的控件A为parent控件,而内部的内容物与控件A的间距。
而layout_margin是A控件所在的控件为parent控件,是A与其的间距。
其实概念很简单,padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。
margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,
如果同一级只有一个view,那么它的效果基本上就和padding一样了。
(三)示例演示
代码如下:
效果图片:
这个示例可以很清楚的理解padding和margin的区别,字体文本是一个整体,
按钮控件里面的空间就是padding的距离,而按钮外面的到边框的距离就是margin的距离。
普通的按钮默认包裹内容,它的padding也是有一点点的。
其实这里根据命名也可以简单看出它们的区别:
android:layout_margin="30dp"
android:padding="30dp"
可以看出margin使用是添加了layout关键字才能使用,这是和布局相关的,
而padding没有和布局相关所有是关于自身的。
同理:对控制控件位置的gravity也有
android:gravity="right"
android:layout_gravity="right"
第一个是自身的控件相关的,第二个是和布局相关的。
比如要让一个按钮整体向父框体右侧靠可以设置为:
android:layout_gravity="right"
而如果想让按钮里面的内容居中就用
android:gravity="center"