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支持的长度单位。

  • 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,系统会根据屏幕密度的变化自动进行转换.

更多相关文章

  1. Android(安卓)的Margin和Padding属性以及支持的长度单位
  2. 【黑马Android】(02)短信发送器/布局演示/android下单位/android
  3. Android(安卓)的Margin和Padding属性以及支持的长度单位
  4. Android(安卓)WebView学习
  5. 36、Android(安卓)Bitmap 全面解析
  6. Android(安卓)面试总结之布局常见问题
  7. Android基础之相关参数区别
  8. Android(安卓)中的盒子模型
  9. Android支持不同的密度或分辨率

随机推荐

  1. activity中onSaveInstanceState方法调用
  2. eclipse 中绑定 android源码
  3. Android gallery实现图片的左右循环旋转
  4. 预显示TextView
  5. Android游戏开发实践指南(华章程序员书库
  6. Android相机Camera2的简单分析
  7. Android的一些开源项目集锦 以备以后研究
  8. Android 之 自动提示功能(AutoCompleteTe
  9. Android三种菜单简介
  10. android Animator详解