android:padding和android:layout_margin的区别

margin和padding是隔开元素中最常用的两个属性

◆Padding属性:

Padding属性用来描述元素的边框和它的子元素之间插入多少空间,它分为上(padding-top)右(padding-right)下(padding-bottom)左(padding-left)和一个快捷方式padding

Margin属性:

Margin属性用来描述元素的边框和包含它的父元素的边框之间插入多少空间,和padding属性类似,它也分为上(margin-top)右(margin-right)下(margin-bottom)左(margin-left)和一个快捷方式margin

Android:layout_margin就是设置view的上下左右边框的额外空间

android:padding是设置内容相对view的边框的距离

在LinearLayout、RelativeLayout、TableLayout中,这2个属性都是设置都是有效的

在FrameLayout中,android:layout_margin是无效的,因为FrameLayout里面的元素都是从左上角开始绘制的

在AbsoluteLayout中,没有android:layout_margin属性

android:layout_alignParentRight="true" 属性是子控件针对父容器的。 且父容器必须是RelativeLayout。

之前一直没有搞懂Android:padding和android:layout_margin的区别,其实概念很简单,padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了。例如我的XML layout代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingLeft="10dip"
    android:paddingRight="10dip"
    android:paddingTop="10dip"
    android:paddingBottom="10dip"
    >
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#FF0000"
    android:text="@string/hello"
    android:paddingLeft="50dip"
    android:paddingRight="50dip"
    android:paddingTop="50dip"
    android:paddingBottom="50dip"
	android:layout_marginBottom="10dip"
    />
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#FF0000"
    android:text="@string/hello"
    android:paddingLeft="50dip"
    android:paddingRight="50dip"
    android:paddingTop="50dip"
    android:paddingBottom="50dip"
 	android:layout_marginBottom="10dip"
    />
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#FF0000"
    android:text="@string/hello"
    android:paddingLeft="50dip"
    android:paddingRight="50dip"
    android:paddingTop="50dip"
    android:paddingBottom="50dip"
    android:layout_marginBottom="10dip"
    />
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#FF0000"
    android:text="@string/hello"
    android:paddingLeft="50dip"
    android:paddingRight="50dip"
    android:paddingTop="50dip"
    android:paddingBottom="50dip"
    android:layout_marginBottom="10dip"
    />
</LinearLayout>

  

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingLeft="10dip"
    android:paddingRight="10dip"
    android:paddingTop="10dip"
    android:paddingBottom="10dip"
    >
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#FF0000"
    android:text="@string/hello"
    android:paddingLeft="50dip"
    android:paddingRight="50dip"
    android:paddingTop="50dip"
    android:paddingBottom="50dip"
	android:layout_marginBottom="10dip"
    />
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#FF0000"
    android:text="@string/hello"
    android:paddingLeft="50dip"
    android:paddingRight="50dip"
    android:paddingTop="50dip"
    android:paddingBottom="50dip"
 	android:layout_marginBottom="10dip"
    />
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#FF0000"
    android:text="@string/hello"
    android:paddingLeft="50dip"
    android:paddingRight="50dip"
    android:paddingTop="50dip"
    android:paddingBottom="50dip"
    android:layout_marginBottom="10dip"
    />
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#FF0000"
    android:text="@string/hello"
    android:paddingLeft="50dip"
    android:paddingRight="50dip"
    android:paddingTop="50dip"
    android:paddingBottom="50dip"
    android:layout_marginBottom="10dip"
    />
</LinearLayout>

  

那么我会得到如下的效果,图上已经很明确的标出来区别咯。

时间: 2024-08-03 23:02:46

android:padding和android:layout_margin的区别的相关文章

Android之android:padding和android:layout_margin的区别

android:padding和android:layout_margin android:layout_margin就是设置view的上下左右边框的额外空间 android:padding是设置内容相对view的边框的距离 在LinearLayout.RelativeLayout.TableLayout中,这2个属性都是设置都是有效的 在FrameLayout中,android:layout_margin是无效的,因为FrameLayout里面的元素都是从左上角开始绘制的 在AbsoluteL

android:padding和android:margin的区别

Android的Margin和Padding跟Html的是一样的.如下图所示:黄色部分为Padding,灰色部分为Margin. 通俗的理解: Padding 为内边框,指该控件内部内容,如文本/图片距离该控件的边距 Margin 为外边框,指该控件距离边父控件的边距 对应的属性为 android:layout_marginBottom="25dip"  android:layout_marginLeft="10dip"  android:layout_margin

android:padding和android:margin的区别[转]

本文综合了:http://zhujiao.iteye.com/blog/1856980 和 http://blog.csdn.net/maikol/article/details/6048647 两篇文章 加入了自己的一些心得. Android的Margin和Padding跟Html的是一样的.如下图所示:黄色部分为Padding,灰色部分为Margin. 通俗的理解: Padding 为内边框,指该控件内部内容,如文本/图片距离该控件的边距 Margin 为外边框,指该控件距离边父控件的边距

android:padding 与 android:margin的区别

android:padding    Padding 为内边框,指该控件内部内容,如文本/图片距离该控件的边距 android:margin   Margin 为外边框,指该控件距离边父控件的边距

android:padding 与 android:margin的差别

android:padding    Padding 为内边框,指该控件内部内容,如文本/图片距离该控件的边距 android:margin   Margin 为外边框,指该控件距离边父控件的边距

Android中padding与layout_margin的区别与用法

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.定义 android:layout_margin就是设置view的上下左右边框的额外空间 android:padding是设置内容相对view的边框的距离 padding,含义为"填充",像垫肩压类似的填充物,一个控件的padding及此控件内部的填充,由此可见padding是以所被定义的控件A为parent控件,而内部的内容物与控件A的间距.而layout_margin是A控

谈谈 UI 中, Padding 和 Margin 有什么区别?

android:padding 和 android:layout_margin 的区别,其实概念很简单,padding 是站在父 view 的角度描述问题,它规定它里面的内容必须与这个父 view 边界的距离.margin 则是站在自己的角度描述问题,规定自己和其他(上 下左右)的 view 之间的距离,如果同一级只有一个 view,那么它的效果基本上就和 padding 一样了.

图片的android:src 及android:background共存

---恢复内容开始--- 需求:给ImageView添加背景色 效果: 实现分析: 1.目录结构: 代码实现: 1.activity_main.xml <merge xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" > <ImageView android:layout_width=&qu

Android开发UI之android:gravity / android:layout_Gravity,android:padding / android:layout_margin属性区分

android:gravity / android:layout_Gravity区别: 1 android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置. 2 3 android:layout_gravity 是用来设置该view相对与父view 的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等. 在实践中,发现有时会同时使用android:gravity和 android:la