前面两期我们学习了LinearLayout线性布局的方向、填充模型、权重和对齐,那么本期我们来学习LinearLayout线性布局的内边距和外边距。

关于padding和margin,很多同学傻傻分不清,相信通过今天的学习可以正确使用。

一、内边距padding

默认情况下,组件相互之间是紧紧靠在一起的。但是有时候需要组件各边之间有一定的内边距,那就可以通过以下几个属性来设置,内边距的值是具体的尺寸,如5dp。

  • android:padding:为组件的四边设置相同的内边距。

  • android:paddingLeft:为组件的左边设置内边距。

  • android:paddingRight:为组件的右边设置内边距。

  • android:paddingTop:为组件的上边设置内边距。

  • android:paddingBottom:为组件的下边设置内边距。

内边距的原理如下图所示:

接下来通过一个简单的示例程序来学习android:padding的使用用法。

继续使用app/main/res/layout/目录下的activity_main.xml文件,在其中填充如下代码片段:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="padding"android:padding="20dp"android:background="#00ffff"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="normal"android:background="#caa926"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="padding"android:paddingLeft="50dp"android:paddingRight="50dp"android:paddingTop="50dp"android:paddingBottom="50dp"android:background="#00f05f"/>
</LinearLayout>

运行程序,可以看到下图所示界面效果:

二、外边距margin

通过设置内边距,只能设置内容相对于组件之间的距离,而组件之间仍然是相邻挨着的。在实际开发中,有时候需要组件之间有一定的间隔距离,那么就需要用到外边距了,可以通过以下几个属性来设置。

  • android:layout_margin:本组件离上下左右各组件的外边距。

  • android:layout_marginStart:本组件离开始的位置的外边距。

  • android:layout_marginEnd:本组件离结束位置的外边距。

  • android:layout_marginBottom:本组件离下部组件的外边距。

  • android:layout_marginTop:本组件离上部组件的外边距。

  • android:layout_marginLeft:本组件离左部组件的外边距。

  • android:layout_marginRight:本组件离右部组件的外边距。

外边距的原理如下图所示:

接下来通过一个简单的示例程序来学习android:layout_margin的使用用法。

将上面的示例程序的布局文件修改一下,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="margin 20dp"android:layout_margin="20dp"android:background="#00ffff"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="normal"android:background="#caa926"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="margin 50dp"android:layout_marginLeft="50dp"android:layout_marginRight="50dp"android:layout_marginTop="50dp"android:layout_marginBottom="50dp"android:background="#00f05f"/>
</LinearLayout>

重新运行程序,可以看到下图所示界面效果:

到此,关于LinearLayout线性布局的内边距和外边距已经学习完成,你都掌握了吗?padding和margin的区别是什么?

如果把布局的内边距和外边距放在一张图中比较会更加直观,如下图所示:

也有这种说法:margin代表的是偏移,padding代表的是填充。当然,你也可以根据自己的理解来总结。

今天就先到这里,如果有问题欢迎留言一起探讨,也欢迎加入Android零基础入门技术讨论微信群,共同成长!

此文章版权为微信公众号分享达人秀(ShareExpert)——鑫鱻所有,若转载请备注出处,特此声明!

android padding 和 margin的区别相关推荐

  1. 【css】padding 和 margin的区别

    css中有有一对经常是一起出现的属性:padding和margin,接下来我们以一个例子来看一下两个属性的作用及其区别. 实例演示: 使用属性前: 代码实现: <!DOCTYPE html> ...

  2. jsp+左间距_jsp 中padding 与margin的区别

    本文向大家简单介绍一下 Margin 和 Padding 属性中四个值的先后顺序及区别, Margin 和 Padding 属性中四个值的顺序为:上右下左,按照顺时针方向罗列的. AD: 你对 Mar ...

  3. html中padding和margin的区别和用法与存在的bug消除

    关于margin: 在需要border外侧添加距离时. 空白处不需要背景时. 相连的两个部分的地方需要加外边的边距时使用. 关于padding: 在需要border内侧添加距离时. 空白处需要背景时. ...

  4. 属性padding和margin的区别

    因为实际在使用中经常会遇到还是很容易搞混,不知道该如何去选择边距的情况,所以单独把这个课题拎出来调查,实践了一番. 1. margin,指的是当前控件和父控件的边距. 举一个例子说明: <Rel ...

  5. android:padding和android:margin的区别

    转载请说明博客地址:http://blog.csdn.net/qq_32059827/article/details/51487997 看了网上的类似博客,并没有给出确定的区别.现在具体分析一下pad ...

  6. Android布局中margin与padding的区别

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

  7. android padding margin的区别,如何正确使用padding和margin

    原标题:如何正确使用padding和margin 前面两期我们学习了LinearLayout线性布局的方向.填充模型.权重和对齐,那么本期我们来学习LinearLayout线性布局的内边距和外边距. ...

  8. android开发之android:padding和android:margin的区别

    android:layout_margin:指该控件距离父控件的边距, android:padding: 指该控件内部内容,如文本距离该控件的边距.

  9. android padding作用,android:padding和android:layout_margin的区别

    简单点来说: android:padding是内边距,控件本身的内容与控件边缘的距离. android:layout_margin是外边距,控件与其他控件之间的距离. 下面以具体的例子来进行解释: 1 ...

最新文章

  1. cmake 静态编译 简介
  2. Eigen 学习笔记
  3. mysql 插入数据 自增长_MySQL ------ 插入数据(INSERT和insert select)(二十)
  4. 征服数据科学面试的10个小技巧(附资源)
  5. 时间序列研(part5)--四种典型的非平稳随机过程
  6. python播放视频代码_python实现实时视频流播放代码实例
  7. supervisor 重启_每日一说:说一下supervisor进程管理工具
  8. C# ASP.NET 权限设计 完全支持多数据库多语言包的通用权限管理系统组件源码
  9. 《逆袭进大厂》第二弹之C++进阶篇59问59答(超硬核干货)
  10. python 可视化界面 打开excel_python如何将excel数据处理可视化
  11. linux下shell脚本编程2
  12. Axure 9 实战案例,动态面板的应用 3,京东的拖动拼图登录验证
  13. 试题库管理系统--数据库设计
  14. 【软件构造】过程与配置管理
  15. 专访吴军:“腾讯无2B基因,谷歌太平庸”,“我说错了吗?”
  16. MySQL常见运算符详解
  17. Monocular Human Pose Estimation: A Survey of Deep Learning-based Methods
  18. libdrm学习-dumb buffer
  19. 谷歌收购眼球追踪技术公司Eyefluence,眼动关注度将成为VR的新视角
  20. vue 移动端头像裁剪_Vue 头像裁剪控件

热门文章

  1. java 设置其他程序焦点_设置焦点的问题
  2. android性能测试 app CPU占有率
  3. windows10任务管理器查——磁盘
  4. Visual Studio中JavaScript智能提示(即引用JS库)
  5. 区块链招聘报告:平均薪资10.5万美元;伦敦需求最大
  6. 学习笔记:基于GMM的语音转换(超详细)
  7. 《软件过程管理》 第五章 软件过程技术管理
  8. 利用python实现空格消除
  9. Selenium 详细教程
  10. 使用 ffmpeg 命令实现图片和视频相互转换