Android布局中margin与padding的区别

我们知道Android开发不仅仅有代码的动态控制,而且还涉及到布局的静态搭建(xml)。几乎在每一个xml文件中,我们总会看到margin和padding这两个属性,今天让我们初步探究一下它们之间的区别。

首先为了便于说明,我们先画一个三层布局,如下图。

这里写图片描述

这里布局的意思是广义的,泛指View等等。

##padding的含义

这里写图片描述

在日常英语中,padding的含义为“垫料”,“衬料”等。在Android布局中,padding意味着该属性所在的主控件中内部布局(子控件)的边距。如上图,当我们设置布局2的padding属性时,其实影响的是在其内部的布局3与布局2的距离,其中黑线表示paddingLeft的具体的左边距值。当上下左右padding值都相等时,可以用padding代替这四个。即:

android:paddingLeft = “10dp”
android:paddingRight = “10dp”
android:paddingTop = “10dp”
android:paddingBottom = “10dp”

android:padding = “10dp”
是等价的。

##margin的含义

这里写图片描述

margin与padding属性恰恰相反。在Android布局中,margin意味着该属性所在的主控件里外部布局(父控件)的边距。如上图,当我们设置布局2的margin属性时,其实影响的是在其外部的布局1与布局2的距离,其中黑线表示layout_marginLeft的具体的左边距值。同理,当上下左右margin值都相等时,可以用margin代替这四个。即:

android:marginLeft = “10dp”
android:marginRight = “10dp”
android:marginTop = “10dp”
android:marginBottom = “10dp”

android:margin = “10dp”
也是等价的。

##margin与padding的相对性

我们回头再来看看这张布局图,思考一个问题:

在布局2中设置padding和在布局3中设置margin的效果是相同的吗?

这里写图片描述

5分钟过去了。。我们来看一下实例演示:

padding:
这里写图片描述

margin:
这里写图片描述

其实android布局中有许多属性都是具有相对性的,这次就先说这么多~!

  • 15
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值