android:padding和android:layout_margin的区别

转载 2015年07月07日 14:55:32

之前一直没有搞懂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>

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




Android中padding与layout_margin的区别与用法

padding,含义为“填充”,像垫肩压类似的填充物,一个控件的padding及此控件内部的填充,由此可见padding是以所被定义的控件A为parent控件,而内部的内容物与控件A的间距。而layo...
  • Evankaka
  • Evankaka
  • 2015年03月03日 13:30
  • 9199

Android中gravity与layout_gravity的区别, Padding 与 margin 区别

LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在于:android:gravity用于设置View组件的对齐方式...
  • Jerome_XX
  • Jerome_XX
  • 2014年03月27日 15:59
  • 1003

Andorid 布局layout_margin和padding分析

很长时间对于margin和padding的作用区别模糊,不知道有什么区别。 这次经过试验终于搞清楚了: margin是控件或者布局的整体区域,相对于父布局以及周围控件和布局的上下左右的距离。 p...
  • luoyouren
  • luoyouren
  • 2015年10月22日 17:42
  • 9652

Android布局中Padding与Margin的区别

盒模型 为了更加准确地控制TextView里面内容的位置,我们可以使用一系列的padding属性来控制。在使用padding属性之前,先科普一下padding和Marigin之间的区别,然后我们在通...
  • u013802203
  • u013802203
  • 2015年11月25日 15:34
  • 1005

android:padding和android:layout_margin的区别?

android:padding和android:layout_margin的区别?  android:layout_margin就是设置view的上下左右边框的额外空间 andro...
  • kyvi9989
  • kyvi9989
  • 2014年06月29日 14:19
  • 191

android:padding / android:layout_margin区别

android:padding 是指该view里面的内容与view边界的距离,例如TextView里面的文字离TextView控件边界的数值;   android:layout_margin 是指...
  • u014608640
  • u014608640
  • 2014年05月05日 09:30
  • 573

android:layout_marginLef与android:paddingLeft的区别

android:layout_marginLeft指该控件距离边父控件的边距, android:paddingLeft指该控件内部内容,如文本距离该控件的边距。   如: 当按...
  • bestone0213
  • bestone0213
  • 2015年02月08日 20:05
  • 887

Android:padding和android:layout_margin的区别

Android:padding和android:layout_margin的区别:   padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。margin则...
  • ShareUs
  • ShareUs
  • 2017年04月28日 16:25
  • 477

Android 中padding和margin的区别

区别padding是在控件内部的margin是在控件外部的如图所示,红线区域是margin,黑线区域是padding下面是TextView的各种 padding,margin的使用效果这里宽高全是wr...
  • u010940300
  • u010940300
  • 2015年05月19日 11:53
  • 1949

Android布局中margin与padding的区别

我们知道Android开发不仅仅有代码的动态控制,而且还涉及到布局的静态搭建(xml)。几乎在每一个xml文件中,我们总会看到margin和padding这两个属性,今天让我们初步探究一下它们之间的区...
  • Xiao_Spring
  • Xiao_Spring
  • 2017年08月04日 17:20
  • 548
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android:padding和android:layout_margin的区别
举报原因:
原因补充:

(最多只允许输入30个字)