dip和px 的换算

      网上找到好多资料,都是这么说的:一般我们为了支持WVGA、HVGA和QVGA推荐使用dip,不依赖像素。具体的px和dip的含义就不单独说明了,网上资料很多。
    最近把三星的app反编译,然后看了下布局文件,发现都是用dip单位,一直看不懂,拷贝运行,得出的UI都走样完蛋,只能上网找dip的资料,找到的肯定都是转载的多,关键是看完也云里雾里,都是说含义。
这么说吧,现在遇到的问题是:
我有一张154×95的图片,和一台480×800、4.3寸的手机,如果使用dip为单位,该怎么把这张图片画出来?
dip的换算: dip(value)=(int) (px(value)/density + 0.5f)
density即屏幕密度,可以通过代码获取,一版默认的值为:0.75(ldpi),1(mdpi),1.5(hdpi),2(xhdpi)。代码获取的方式为
density = context.getResources().getDisplayMetrics().density;
  所以按照公式,这张图片算出来的就是宽:(154/1.5 + 0.5f) =  103.1 高:(95/1.5 + 0.5f) = 65.8,按照这个公式画出来的果然就正常了。

参考:
http://my.oschina.net/mayi00/blog/35122
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值