Android界面像素单位

 
1.单位解释
dp(dip):   device independent pixels( 设备独立像素 ).   不同设备有不同的显示效果 , 这个和设备硬件有关,一般我们为了支持 WVGA HVGA QVGA   推荐使用这个,不依赖像素。
px:  
pixels( 像素 ).  不同设备显示效果相同,一般我们 HVGA 代表 320x480 像素,这个用的比较多。
pt:
point ,是一个标准的长度单位, 1pt 1/72 英寸,用于印刷业,非常简单易用;
sp:  
1pt=2.22sp
scaled pixels( 放大像素 ).  主要用于字体显示 best for textsize

2.单位转换
//dip转换px
public static int dip2px(Context context, float dipValue){
final float scale = context.getResources().getDisplayMetrics().density;
return (int)(dipValue * scale + 0.5f);
//px转换dip
public static int px2dip(Context context, float pxValue){

final float scale = context.getResource().getDisplayMetrics().density;
return (int)(pxValue / scale + 0.5f);
}
//dip转换为px
(int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, 50, context.getResources()
.getDisplayMetrics());
TypedValue.COMPLEX_UNIT_DIP可以换成不同的字段,可以将不同的单位转换成px

3.获取分辨率:

    在一个ActivityonCreate方法中,写入如下代码:
        DisplayMetrics metric = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metric);
        int width = metric.widthPixels;  //
 屏幕宽度(像素)
        int height = metric.heightPixels;  //
 屏幕高度(像素)
        float density = metric.density;  //
 屏幕密度(0.75 / 1.0 / 1.5
        intdensityDpi = metric.densityDpi;  //
 屏幕密度DPI120 / 160 / 240


 

4.Android支持下列所有单位:
px
(像素):屏幕上的点。
in
(英寸):长度单位。
mm
(毫米):长度单位。
pt
(磅):1/72英寸。
dp
(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px
dip
:与dp相同,多用于android/ophone示例中。
sp
(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值