Android初学者填充和边距之间的差异

Android初学者填充和边距之间的差异,android,Android,我已就此提出问题。还检查了答案: 填充是边框内的空间,位于边框和实际视图内容之间。请注意,填充完全围绕内容:顶部、底部、右侧和左侧都有填充(可以是独立的) 边距是边框外部的空间,位于边框和此视图旁边的其他图元之间。在图像中,边距是整个对象外部的灰色区域。请注意,与填充一样,边距完全围绕内容:顶部、底部、右侧和左侧都有边距 此外,有关填充和边距的更多信息,请访问: 但从根本上讲,填充和边距的区别是什么?行为是否会因O.S.和设备而异? 我有一个正常的,简单的布局。代码没有问题,使用了布局文件夹

我已就此提出问题。还检查了答案:
填充是边框内的空间,位于边框和实际视图内容之间。请注意,填充完全围绕内容:顶部、底部、右侧和左侧都有填充(可以是独立的)

边距是边框外部的空间,位于边框和此视图旁边的其他图元之间。在图像中,边距是整个对象外部的灰色区域。请注意,与填充一样,边距完全围绕内容:顶部、底部、右侧和左侧都有边距

此外,有关填充和边距的更多信息,请访问:


但从根本上讲,填充和边距的区别是什么?行为是否会因O.S.和设备而异?

我有一个正常的,简单的布局。代码没有问题,使用了布局文件夹-布局和布局-sw600dp加上可绘图-4dpi。如果没有边距或填充,无法进行布局,哪一种更合适?

边距

边距构成元素之间的垂直和水平区域。如果元素周围没有边距,它们将相互碰撞。换句话说,元素外部或元素之间的空间构成了边缘区域

填充

元素的填充是在目标元素的内容区域周围设置的水平和垂直空间。因此,填充在盒子的内部,而不是外部


填充
用于内部/内部组件。例如
文本视图
按钮
编辑文本

文本和边框之间的空格

Margin
适用于组件外部的边缘。
屏幕左边缘和组件边框之间的空间

视觉表现在以下方面非常出色:

通过
填充
,我看到了2.2、2.3和4.3、4.4中的差异
在这种情况下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="ASDFGHJKL" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="15dp"
        android:text="@string/hello_world" />

</RelativeLayout>  

此外,检查二聚体的使用:

边距:边框与其父布局之间的边距

填充:在内容和边框之间

填充和边距之间的根本区别是什么

对于差异——罗汉·坎德瓦尔(Rohan Khandwal)有着非常完美的联系

根据O.S.和设备,行为是否会有所不同

现在,如果我们讨论的是视图的行为,它被赋予了不同的边距和填充。那么,在不同分辨率的不同设备中,它肯定会显得不同。
这就是为什么我们有不同的dimen/values/layout文件夹,它们有自己的含义。

简单地说。。如果您想使用类似TextView的小部件,请将EditText远离其他小部件。你应该从上、右、左、下使用边距

通过增加填充,它将增加内部间距,而不会使小部件与其他小部件相隔很远


例如,与按钮类似,特征按钮背景图像包括填充,但不包括边距。换句话说,添加更多的填充使按钮看起来更大,而添加更多的边距只会使按钮和下一个控件之间的间隙更大。

安卓边距和填充之间的区别是,即使文本距离边缘有多大,边距也不会间隔或着色。这只是文字和颜色,你设置它所有“单独”。但是,使用填充时,文本会远离屏幕边缘,就像边距一样,但是在填充时,文本会远离屏幕边缘,文本和屏幕边缘之间的所有空间都会填充颜色或您选择的任何文本首选项。这就是安卓边距和安卓填充之间的区别

填充是边框内的空间,位于边框和实际视图内容之间。请注意,填充完全围绕内容:顶部、底部、右侧和左侧都有填充(可以是独立的)

边距是边框外部的空间,位于边框和此视图旁边的其他图元之间。在图像中,边距是整个对象外部的灰色区域。请注意,与填充一样,边距完全围绕内容:顶部、底部、右侧和左侧都有边距


填充会增加视图的大小,而边距不会增加,因为它位于视图之外

边距和填充之间的差异以及用例在Udacity中有明确的解释。以下是摘录:

…如果要放大对象的可触摸区域或背景,请使用填充,否则请使用边距


对于视图的左侧、顶部、右侧和底部,填充以像素表示。填充可用于将视图内容偏移特定数量的像素

例如,左填充为2会将视图内容推到左边缘的右侧2个像素

可以使用
setPadding(int,int,int,int,int)
方法设置填充,并通过调用
getPaddingLeft()
getPaddingTop()
getPaddingRight()
getPaddingBottom()查询填充

边距是边框外部的空间,位于边框和此视图旁边的其他图元之间。 请注意,与填充一样,边距完全围绕内容:顶部、底部、右侧和左侧都有边距。
可以使用setMargins(int left、int top、int right、int bottom)方法设置边距

填充是内部间距,而边距是外部间距。这就是全部。我想你指的是新的操作系统主题引入的额外填充?你可以指定一个不同的主题和/或使用负填充来解决这个问题