视图的边距和填充之间的区别是什么?
当前回答
边距是指元素之外的额外空间。填充指的是元素内的额外空间。边距是控件周围的额外空间。填充是控件内部的额外空间。
使用白色填充时,很难看到空白和填充的区别,但使用彩色填充时,可以很好地看到它。
其他回答
为了帮助我记住填充物的含义,我想到了一件有很多厚棉质填充物的大外套。我在我的外套里,但是我和我的棉袄在一起。我们是一个整体。
但为了记住空白,我会想,“嘿,给我一些空白!”那是我和你之间的空白。不要进入我的舒适区——我的底线。
为了让它更清楚,这里是一个图片的填充和空白在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
有时你可以通过使用填充或边距来达到同样的效果。例子:
假设视图X包含视图Y(也就是:视图Y在视图X内部)。
-View Y的Margin=30或View X的Padding=30将达到相同的结果:View Y的offset为30。
填充是边框与实际图像或单元格内容之间的边框内的空间。 边距是边界之外的空间,在边界和对象旁边的其他元素之间。
除了上述所有正确答案之外,另一个区别是填充增加了视图的可点击区域,而边距则不会。如果你有一个小的可点击图像,但想让点击处理程序宽容,这是有用的。
例如,看到我的ImageView布局的这张图片(Android图标),我将paddingbutton设置为100dp(图像是股票启动器mipmap ic_launcher)。有了附加的点击处理程序,我能够点击外面和下面的图像,仍然注册一个点击。
填充 填充在视图内部。例如,如果你给android:paddingLeft=20dp,那么视图内的项目将以20dp宽度从左排列。你也可以使用paddingRight, paddingBottom, paddingTop分别从右边,底部和顶部给出填充。
保证金 边距在视图之外。例如,如果你给android:marginLeft=20dp,那么视图将从左起20dp后排列。
推荐文章
- ImageView -有高度匹配宽度?
- 如何确定在android文件的MIME类型?
- 这是在Android中获取用户位置的好方法
- Android从左到右幻灯片动画
- 如何检索视图的维度?
- 如何改变菜单项的文本颜色在安卓?
- Android选择器和文本颜色
- 视图绑定-我如何获得包含布局的绑定?
- 在Android Studio中改变矢量资产的填充颜色
- 在构建中编写注释的语法是什么?gradle文件?
- 如何以编程方式添加按钮色调
- 用Android Studio进行调试永远停留在“等待调试器”状态
- Openssl不被视为内部或外部命令
- 无法执行dex:在Eclipse中超过GC开销限制
- 如何以编程方式将视图添加到视图