android:margin和padding区别和android:margin的区别

获取验证码
暂停使用,请使用开发者账号登录!
秒之内仍未收到,请
积分647&学分175 &来自广东-阳江市&
谁能介绍一下padding 和 margin的区别是什么?
悬赏金额: 2 学分 &&
布局时候用到padding 和 margin,不太懂区别是什么,有没人能讲解一下
最好能说得简单明白,谢谢了。
可以理解成網頁上的CSS
margin英文本意是“ 加边于、 页边的空白”,在CSS中margin是指从自身边框到另一个容器边框之间的距离,就是容器外距离。
padding英文本意是“填充”,在CSS中padding是指自身边框到自身内部另一个容器边框之间的距离,就是容器内距离。
积分2759&学分983 &来自广东-中山市&
可以理解成網頁上的CSS
margin英文本意是“ 加边于、 页边的空白”,在CSS中margin是指从自身边框到另一个容器边框之间的距离,就是容器外距离。
padding英文本意是“填充”,在CSS中padding是指自身边框到自身内部另一个容器边框之间的距离,就是容器内距离。
?80后 ?奔3 ?没房 ?没车 ?没钱 ?没关系 ?没相貌 ?没背景 ?宅男 ?没前途
积分1669&学分103 &来自江苏-南京市&
同求啊,这个是不是ui的问题啊,请ui高手解答
积分478&学分229 &来自河南-郑州市&
提示: 该帖被管理员或版主屏蔽
技术管理员
积分4102&学分225 &来自辽宁-沈阳市&
margin和padding实际上都有设边距功能(例如,文本距上面的组件的距离)。但margin是对组件而言的,也就是说,margin设的是组件距离相邻组件的距离。而padding是对组件内容而言的,也就是说,设置的是组件中的内容(如文本、图像或其他组件)距离组件边框的距离。这两个属性从功能是可以完成类似的功能,距离选择哪个属性需要根据实际情况而定。
技术管理员
积分304&学分73 &来自广东-广州市&
这个是典型的BOX模型,你google一下就明白了!
积分50&学分15 &来自广东-深圳市&
样式问题,建议google一下
积分693&学分67 &来自上海-上海市&
To measure its dimensions, a view takes into account its padding. The padding is expressed in pixels for the left, top, right and bottom parts of the view. Padding can be used to offset the content of the view by a specific amount of pixels. For instance, a left padding of 2 will push the view's content by 2 pixels to the right of the left edge. Padding can be set using the&&method and queried by calling&,&,&and&.Even though a view can define a padding, it does not provide any support for margins. However, view groups provide such a support. Refer to&&and&for further information.
开发者社区网站地址:
或分享到:android中padding和margin的理解 - 不怕不怕 - 博客园
在android安排控件布局时,padding和margin经常被用到。
其具体解释可以通过一张图展现,如下,
两个属性表示的意义与web编程相同。
深入理解:
padding约束的是控件或布局显示的内容距离边框的距离,沿垂直边框向内压缩,padding越大,内容显示控件越小;
margin这是沿垂直边框向外延伸的距离,&它的意思就是给控件加了一个一定距离的空白边,显示效果只与值大小正负相关,与其他元素边界无关。
值得注意的是,padding值的范围[0,任意正数](默认为0),而margin的值则有正有负。
想理解负值,首先要理解0值,当margin=&0dip&时,控件外延扩展的边为0,也就是边界挨着其它边缘;
margin&0,是给控件添加白边,让其外延变大,过大时会影响到整个控件显示大小;
margin&0,一般用于单一方向显示,也就是将该控件与其相邻控件的距离是负值,从显示效果讲就是覆盖某一方向上其它控件。
总言之,这两个属性是某个控件的属性,控制的只是该控件的显示,表示的意义也不牵扯父控件或其它相邻控件,所以理解时要注意,不要混淆。
Start和End则是变化的相对概念,如下,
paddingStart & paddingEnd 是根据左右对齐方式来起作用的(Level-API-17&)
左对齐时,&paddingStart 对应 paddingLeft,&paddingEnd 对应 paddingRight
右对齐时, 正好相反&
以上个人理解,转载注明出处,多谢。
阅读(...) 评论()
Powered by:
Copyright & 不怕不怕android 中 padding 与 margin 的区别
android:padding和android:layout_margin的区别,其实概念很简单,padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了。例如我的XML layout代码如下:
&?xml version=&1.0& encoding=&utf-8&?&
&LinearLayout xmlns:android=&/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&
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&
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&
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&
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和android:margin的区别[转] - Mr 布鲁斯 - 博客园
本文综合了:&和&&两篇文章
加入了自己的一些心得。
Android的Margin和Padding跟Html的是一样的。如下图所示:黄色部分为Padding,灰色部分为Margin。
通俗的理解:
Padding 为内边框,指该控件内部内容,如文本/图片距离该控件的边距
Margin 为外边框,指该控件距离边父控件的边距
对应的属性为
android:layout_marginBottom="25dip"&android:layout_marginLeft="10dip"&android:layout_marginTop="10dip"&android:layout_marginRight="10dip"&android:paddingLeft="1dip"&android:paddingTop="1dip"&android:paddingRight="1dip"&android:paddingBottom="1dip"
如果左右上下都是相同的设置则可以直接设置
android:layout_margin="10dip"&android:padding="5dip"
当按钮分别设置以上两个属性时,得到的效果是不一样的。
android:paddingLeft="30px":
按钮上设置的内容(例如图片)离按钮左边边界30个像素。
android:layout_marginLeft="30px"
整个按钮离左边设置的内容30个像素
这二个属性是相对的,假设B是A的子控件,设置B的margin和设置A的padding能达到相同的效果。
设置padding的好处:
& & &如果imageview对应的图片比较小,点击不容易点中,通过增加padding可以增大点触敏感度
Android支持的长度单位。
px(像素):屏幕上的点。&pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。
in(英寸):长度单位。
mm(毫米):长度单位。
pt(磅):1/72英寸。&point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。
dip:与dp相同,多用于android/ophone示例中。&device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
sp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。&scaled pixels(放大像素). 主要用于字体显示best for textsize。
为了使用户界面能够在现在和将来的显示器类型上正常显示,建议大家始终使用sp作为文字大小的单位,Android默认的字号也是用的sp。
将dip作为其他元素的单位,比如长度、高度。当然,也可以考虑使用矢量图形,而不是用位图。
dp是与密度无关,sp除了与密度无关外,还与scale无关。
如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。
那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。
但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。
也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换.
from:http://blog.csdn.net/xxdbupt/article/details/
随笔 - 397
评论 - 106
Trackbacks - 0Android如何在java代码中设置margin - 老邢的墨迹 - ITeye博客
博客分类:
原创帖,转发请注明出处:
我们平常可以直接在xml里设置margin,如:
&ImageView android:layout_margin="5dip" android:src="@drawable/image" /&
但是有些情况下,需要在java代码里来写,可是View本身没有setMargin方法,怎么办呢?
通过查阅android api,我们发现android.view.ViewGroup.MarginLayoutParams有个方法setMargins(left, top, right, bottom).
其直接的子类有:
FrameLayout.LayoutParams, LinearLayout.LayoutParams and
RelativeLayout.LayoutParams.
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(10, 20, 30, 40);
imageView.setLayoutParams(lp);
浏览 51663
new LinearLayout.LayoutParams 似乎会有问题我是用需要修改margin的控件,比如imageView,有一个getLayout方法,获得的layout在强转类型到LinearLayout或者其他,然后再设定margin什么的。也是个很不错的方法
thierry.xing
浏览: 442563 次
来自: 北京
很好,成功的安装好了ffmpeg
确实有效!
报错 clang:error:linker comm ...
dp_laughing 写道怎么设置滚动条的位置,使其靠边?这 ...

我要回帖

更多关于 div margin padding 的文章

 

随机推荐