前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安卓开发之dip,dp,px,sp

安卓开发之dip,dp,px,sp

作者头像
苦咖啡
发布2018-05-08 17:07:16
6380
发布2018-05-08 17:07:16
举报
文章被收录于专栏:我的博客我的博客

1、dip device independent pixels(设备独立像素). 不同设备不同的显示效果,这个和设备硬件有关, 一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。

dip的换算: dip(value)=(int) (px(value)/1.5 + 0.5)

2、dp 等同于dip一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。

3、px pixels(像素) 屏幕上的点,不同设备不同的显示屏显示效果相同,这是绝对像素,是多少就永远是多少不会改变。

4、sp scaled pixels — best for text size (放大像素)(与刻度无关的像素):主要处理字体的大小。 与dp类似,但是可以根据用户的字体大小首选项进行缩放

根据google的推荐,像素统一使用dip,字体统一使用sp 附:网络推荐 1、px就是像素,如果用px,就会用实际像素画,比个如吧,用画一条长度为240px的横线,在480宽的模拟器上看就是一半的屏宽,而在320宽的模拟器上看就是2/3的屏宽了。 而dip,就是把屏幕的高分成480分,宽分成320分。比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度。 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.getResources().getDisplayMetrics().density; return (int)(pxValue / scale + 0.5f); }

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年9月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档