视图的边距和填充之间的区别是什么?
当前回答
假设你在视图中有一个按钮视图的大小是200 * 200,按钮的大小是50 * 50,按钮标题是HT。现在,边距和填充的区别是,你可以在视图中设置按钮的边距,例如从左边20,从上面20,填充将调整文本在按钮或文本视图中的位置等。例如,填充值从左边20,所以它将调整文本的位置。
其他回答
边距在视图内,边距在视图外。填充可用于所有视图。根据视图的不同,边距和边距之间可能存在或可能没有视觉差异。
例如,对于按钮,特征按钮背景图像包括填充,但不包括空白。换句话说,添加更多的填充会使按钮在视觉上看起来更大,而添加更多的边距只会使按钮和下一个控件之间的距离更宽。
另一方面,对于TextViews,填充和边缘的视觉效果是相同的。
页边距是否可用是由视图的容器决定的,而不是视图本身。在LinearLayout中支持边距,在AbsoluteLayout(现在已经过时了)中不支持边距。
填充在视图内部。
边距在视图之外。
这种差异可能与背景或大小属性有关。
为了帮助我记住填充物的含义,我想到了一件有很多厚棉质填充物的大外套。我在我的外套里,但是我和我的棉袄在一起。我们是一个整体。
但为了记住空白,我会想,“嘿,给我一些空白!”那是我和你之间的空白。不要进入我的舒适区——我的底线。
为了让它更清楚,这里是一个图片的填充和空白在TextView:
上图的XML布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#c5e1b0"
android:textColor="#000000"
android:text="TextView margin only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#f6c0c0"
android:textColor="#000000"
android:text="TextView margin only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#c5e1b0"
android:padding="10dp"
android:textColor="#000000"
android:text="TextView padding only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#f6c0c0"
android:padding="10dp"
android:textColor="#000000"
android:text="TextView padding only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#c5e1b0"
android:textColor="#000000"
android:padding="10dp"
android:text="TextView padding and margin"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#f6c0c0"
android:textColor="#000000"
android:padding="10dp"
android:text="TextView padding and margin"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#c5e1b0"
android:textColor="#000000"
android:text="TextView no padding no margin"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#f6c0c0"
android:textColor="#000000"
android:text="TextView no padding no margin"
android:textSize="20sp" />
</LinearLayout>
相关的
重力vs布局重力 Match_parent vs wrap_content
下面的图片将让你了解填充和空白-
填充用于在视图及其内容之间添加空白。
边距用于在不同视图之间添加空格。
对于边距和边距,我们有两种方法来设置,
两边都设为相等的值 根据需要设置边的具体值
价值相等的各方:
你可以使用android:padding="15dp"来设置15dp所有边的填充
android:layout_margin="15dp"用于设置15dp所有边距
支持具体价值观:
填充
android:paddingBottom设置底部边缘的填充 android:paddingStart设置填充在开始边缘意味着在视图的左侧 android:paddingEnd设置填充在结束边缘意味着在右侧的视图 android:paddingTop设置顶部边距
保证金
layout_marginBottom在这个视图的底部指定额外的空间。 android:layout_marginEnd在结束端指定额外的空间,意味着在这个视图的右边。 android:layout_marginStart在开始侧指定额外的空间,意味着在这个视图的左边。 android:layout_marginTop在这个视图的顶部指定额外的空间。
推荐文章
- 改变开关的“开”色
- 以编程方式将EditText的输入类型从PASSWORD更改为NORMAL,反之亦然
- 如何在隐藏和查看密码之间切换
- 在Android上调整一个大的位图文件到缩放输出文件
- 如何更改Android版本和代码版本号?
- Android Studio突然无法解析符号
- 应用程序重新启动而不是恢复
- 如何设置整个应用程序在纵向模式?
- Android中文本的阴影效果?
- 以编程方式设置TextView的布局权重
- Android -如何覆盖“后退”按钮,所以它不完成()我的活动?
- 如何从通知点击发送参数到一个活动?
- 导航目标xxx对于这个NavController是未知的
- 使用ConstraintLayout均匀间距的视图
- 文件google-services错误。模块根文件夹中缺少Json。谷歌服务插件没有它就不能正常工作。