如何正确使用padding和margin
前面两期我们学习了LinearLayout线性布局的方向、填充模型、权重和对齐,那么本期我们来学习LinearLayout线性布局的内边距和外边距。
关于padding和margin,很多同学傻傻分不清,相信通过今天的学习可以正确使用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">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="padding"
android:padding="20dp"
android:background="#00ffff"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="normal"
android:background="#caa926"/>
<TextView
android: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">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="margin 20dp"
android:layout_margin="20dp"
android:background="#00ffff"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="normal"
android:background="#caa926"/>
<TextView
android: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代表的是填充。当然,你也可以根据自己的理解来总结。
- 我的技术投资策略:如何决定学习哪一个新技术的?
- Android6.0源码之蓝牙研究汇总(一)--from初学者
- Android6.0蓝牙协议之OPP
- 简单直白教你理解Java中四大引用强引用,软引用,弱引用,虚引用
- ubuntu系统上配置git
- Android源码编译出错No rule to make...
- Android中资源各种引用方式?,@,@*等等
- git撤销修改各种情况
- Android中ContentProvider简介
- 利用Androidstudio开发Java工程图文详解
- 小程序学习笔记分享(含1-tabBar、轮播图和九宫格)
- Android中ViewStub控件分析及使用
- 如何实现微信小程序的滚动加载功能
- 分享微信小程序推送消息步骤
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法