博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发PX与DIP的清晰解释[魔豆之路]
阅读量:6423 次
发布时间:2019-06-23

本文共 900 字,大约阅读时间需要 3 分钟。

hot3.png

(pixels)——像素,不依赖设备。

  (device independent pixels)——等同 ,与设备相关。一般我们为了支持WCGA、HVGA和QVGA推荐使用这个,不依赖于像素。
sp (scaled pixels—best for text size)——带比例的像素,主要用于字体显示。

 

到底和有什么区别呢?
dip 什么时候等于px? 什么时候不等于呢?
  1. 在Density是160的设备上,1dip = 1px, HVGA屏density=160;换到一个Density是240的设备上,dip和px体现出来的大 小就不一样了, 1.5 px = 1 dip。
  2. 通常而言:WQVGA(160 X  240)屏density=120;QVGA(240 X 320)屏density=120;HVGA(320 X 480)屏density=160;WVGA(480X 800)屏density=240;
  3. VGA屏是标准屏640 X 480 的分辨率
density值表示每英寸有多少个显示点(密度),与分辨率(宽X高的像素点)是两个概念。
当屏幕density=240时, 使用hdpi标签的资源
当屏幕density=160时,使用mdpi标签的资源
当屏幕density=120时,使用ldpi标签的资源

 

不加任何标签的资源是各种分辨率情况下共用的。布局时尽量使用单位dip,少使用px。

换算公式为:

pixs =dips * (densityDpi/160).
dips=(pixs*160)/densityDpi

 

如何获得设备的屏幕分辨率和屏幕密度?
如分辨率为480*800,密度为240的设备,方法如下:
DisplayMetrics dm =getResources().getDisplayMetrics();
dm.densityDpi=240
dm.widthPixels=480
dm.heightPixels=800

声明: 本文由()原创编译,转载请保留链接:

转载于:https://my.oschina.net/mythroad/blog/153162

你可能感兴趣的文章
javascript实现音频mp3播放
查看>>
html5-离线缓存
查看>>
linux系统安装完后的常见工作
查看>>
在Linux服务器、客户端中构建密钥对验证进行远程连接
查看>>
揪出MySQL磁盘消耗迅猛的真凶
查看>>
和“C”的再遇
查看>>
一键安装kubernetes 1.13.0 集群
查看>>
RabbitMq的集群搭建
查看>>
spring boot + mybatis 同时访问多数据源
查看>>
URL中汉字转码
查看>>
[转]go正则实例
查看>>
Selector中关于顺序的注意事项
查看>>
小黑小波比.清空<div>标签内容
查看>>
Java中的ExceptionInInitializerError异常及解决方法
查看>>
Spring 注入bean时的初始化和销毁操作
查看>>
java线程同步原理(lock,synchronized)
查看>>
MyEclipse中使用Hql编辑器找不到Hibernate.cfg.xml文件解决方法
查看>>
yRadio以及其它
查看>>
第四节 对象和类
查看>>
闪迪(SanDisk)U盘防伪查询(官方网站)
查看>>