Android上dip、dp、px、sp等单位说明

Android layout 文件中有时候可能会指定具体的单位,比如有时候为 px dip 或者 sp 等。他们的区别如下:

1. px (pixels)像素:这个大家用得比较多,一般我们HVGA代表320x480像素。

2. dipdp (device independent pixels)设备独立像素:这个和设备硬件有关,一般我们为了支持WVGAHVGAQVGA cwj推荐使用这个,不依赖像素。android上开发的程序将会在不同分辨率的手机上运行。为了让程序外观不至于相差太大,所以引入了dip的概念。比如定义一个矩形10 x 10dip.在分辨率为160dpi的屏上,比如G1,正好是10 x 10像素。而在240 dpi的屏,则是15 x 15像素.换算公式为pixs = dips * (density/160). density就是屏的分辨率

3. sp (scaled pixels — best for text size)放大像素:主要处理字体的大小。

下面的不经常用到:

4. in (inches)英寸

5. mm (millimeters)毫米

6. pt (points)android:numColumns="auto_fit"GridView的列数设置为自动android:columnWidth="90dp",每列的宽度,也就是Item的宽度android:stretchMode="columnWidth",缩放与列宽大小同步android:verticalSpacing="10dp",两行之间的边距,如:行一(NO.0~NO.2)与行二(NO.3~NO.5)间距为10dp android:horizontalSpacing="10dp",两列之间的边距。

dp与px转换的方法

public static int dip2px(Context context, float dipValue){

  final float scale
= context.getResources().getDisplayMetrics().density;

  return (
int)(dipValue * scale +0.5f);

  }

  
public static int px2dip(Context context, float pxValue){

  final float scale
= context.getResource().getDisplayMetrics().density;

  return (
int)(pxValue / scale +0.5f);

  }

http://hi.baidu.com/%C7%E1%D1%EF%CB%AE%C9%CF%C6%AF/blog/item/8ab42dff35b63f2b5c600895.html
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值