android中padding和margin的理解

在android安排控件布局时,padding和margin经常被用到。

其具体解释可以通过一张图展现,如下,

两个属性表示的意义与web编程相同。

深入理解:

padding约束的是控件或布局显示的内容距离边框的距离,沿垂直边框向内压缩,padding越大,内容显示控件越小;

margin这是沿垂直边框向外延伸的距离, 它的意思就是给控件加了一个一定距离的空白边,显示效果只与值大小正负相关,与其他元素边界无关。

值得注意的是,padding值的范围[0,任意正数](默认为0),而margin的值则有正有负。

想理解负值,首先要理解0值,当margin=“0dip”时,控件外延扩展的边为0,也就是边界挨着其它边缘;

margin>0,是给控件添加白边,让其外延变大,过大时会影响到整个控件显示大小;

margin<0,一般用于单一方向显示,也就是将该控件与其相邻控件的距离是负值,从显示效果讲就是覆盖某一方向上其它控件。

总言之,这两个属性是某个控件的属性,控制的只是该控件的显示,表示的意义也不牵扯父控件或其它相邻控件,所以理解时要注意,不要混淆。

Start和End则是变化的相对概念,如下,

  1. paddingStart &
    paddingEnd 是根据左右对齐方式来起作用的(Level-API-17 )

  2. 左对齐时, paddingStart
    对应 paddingLeft, paddingEnd 对应 paddingRight

  3. 右对齐时,
    正好相反

以上个人理解,转载注明出处,多谢。

android中padding和margin的理解,布布扣,bubuko.com

时间: 2024-12-11 04:56:34

android中padding和margin的理解的相关文章

Android 中padding和margin的区别

区别 padding是在控件内部的 margin是在控件外部的 如图所示,红线区域是margin,黑线区域是padding 下面是TextView的各种 padding,margin的使用效果 这里宽高全是wrap_content <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android

Android中BindService方式使用的理解

Android中BindService方式使用的理解 - 唯一小神 - 博客园 最近学习了一下Android里面的Service的应用,在BindService部分小卡了一下,主要是开始没有彻底理解为什么要这么实现. BindService和Started Service都是Service,有什么地方不一样呢: 1. Started Service中使用StartService()方法来进行方法的调用,调用者和服务之间没有联系,即使调用者退出了,服务依然在进行[onCreate()-? >onS

css中padding与margin

CSS padding margin border属性详解 图解CSS padding.margin.border属性W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落.列表.标题.图片以及层.盒模型主要定义四个区域:内容(content).内边距(padding).边框(border)和外边距(margin).对于初学者,经常会搞不清楚margin,background-color,background-image,paddin

Android中dispatchTouchEvent, onInterceptTouchEvent, onTouchEvent的理解

[转]http://blog.csdn.net/guitk/article/details/7057155 onInterceptTouchEvent用于改变事件的传递方向.决定传递方向的是返回值,返回为false时事件会传递给子控件,返回值为true时事件会传递给当前控件的onTouchEvent(),这就是所谓的Intercept(拦截). [tisa ps:正确的使用方法是,在此方法内仅判断事件是否需要拦截,然后返回.即便需要拦截也应该直接返回true,然后由onTouchEvent方法进

Android中对Handle机制的理解

一.重要參考资料 [參考资料] 眼下来看,以下的几个网址中的内容质量比較不错.基本不须要再读别的网址了. 1.android消息机制一 http://xtfncel.javaeye.com/blog/663517 Android消息机制(一) 一.    角色描写叙述 1.Looper: 一个线程能够产生一个Looper对象.由它来管理此线程里的Message Queue(消息队列). 2.Handler: 你能够构造Handler对象来与Looper沟通.以便push新消息到Message Q

Android中的context的学习理解

Android中Context的学习理解Context是一个抽象基类,通过它getResuources.getAssets and start 其他组件(Activity,Service,broadCast,getSystemService),可以这样理解:Context提供了一个运行环境for App, then app 可以访问资源,才能完成与其他组件,服务的交互,Context定义了一套基本的功能接口or一套规范 //todo

【转】Android中BindService方式使用的理解

原文网址:http://www.cnblogs.com/onlylittlegod/archive/2011/05/15/2046652.html 最近学习了一下Android里面的Service的应用,在BindService部分小卡了一下,主要是开始没有彻底理解为什么要这么实现. BindService和Started Service都是Service,有什么地方不一样呢: 1. Started Service中使用StartService()方法来进行方法的调用,调用者和服务之间没有联系,

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控

Android 中AIDL的使用与理解

AIDL的使用: 最常见的aidl的使用就是Service的跨进程通信了,那么我们就写一个Activity和Service的跨进程通信吧. 首先,我们就在AS里面新建一个aidl文件(ps:现在AS建aidl不要求和java包名相同了): package aidl; interface IMyInterface { String getInfor(String s); } 可以看到,在这里面我们就一个方法getInfor(String s),接受一个字符串参数,然后返回一个字符串,恩,相当的简单