博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dip转pix
阅读量:4140 次
发布时间:2019-05-25

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

dip转pix  

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
pix = dm.density * dip
int widthPixels= dm.widthPixels;
int heightPixels= dm.heightPixels;
float density = dm.density;
int screenWidth = widthPixels * density ;
int screenHeight = heightPixels * density ;

在320*480 的phone 上的 到的 widthPixels 值是320, heightPixels  值是480, density 的值是1.0。

在480*800 的phone 上的到的idthPixels 值是320, heightPixels  值是533, density 的值是1.5。

getWindowManager()。有些网友说书写getWindowManager()后eclipse会报错,说没有getWindowManager()这个方法,这是什么原因呢?因为getWindowManager()这个方法是在类Activity中的,如果你自己编写的类不是继承于类Activity,那么必然在这个类中书写代码就不能用到getWindowManager()这个方法。所以当你自己编写的类不是继承于类Activity,那么就只能应用下面这种方法获取手机屏幕的大小。
DisplayMetrics dm2 = getResources().getDisplayMetrics();
注解:在写代码的时候我们尽量使用dip,而不使用pix,因为对分辨率不同的屏幕来说,160dip永远是屏幕宽的一半,而pix就不行。当然涉及到Y的时候
而可以使用dip,因为差距不会太大,当然使用代码获取像素后在设计长宽是更好的办法,首先获取layout,然后设置layout的属性。

转载地址:http://klhvi.baihongyu.com/

你可能感兴趣的文章
iOS菜鸟学习--如何避免两个按钮同时响应
查看>>
How to access the keys in dictionary in object-c
查看>>
iOS菜鸟学习—— NSSortDescriptor的使用
查看>>
hdu 3787 hdoj 3787
查看>>
hdu 3790 hdoj 3790
查看>>
hdu 3789 hdoj 3789
查看>>
hdu 3788 hdoj 3788
查看>>
zju 1003 zoj 1003
查看>>
zju 1004 zoj 1004
查看>>
zju 1005 zoj 1005
查看>>
zju 1006 zoj 1006
查看>>
【虚拟机】虚拟化架构与系统部署(Windows系统安装)
查看>>
字节跳动安卓开发实习生面试分享
查看>>
好书分享之——《能力陷进》
查看>>
阅读笔记《c++ primer》
查看>>
阅读笔记《C++标准程序库》
查看>>
基于mirror driver的windows屏幕录像
查看>>
C语言8
查看>>
Qt实现简单延时
查看>>
qml有关矩形说明
查看>>