博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 获取屏幕大小
阅读量:6543 次
发布时间:2019-06-24

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

在写Android程序的时候我想大家会经常遇到获取手机屏幕大小的问题,我想很多人都看过很多关于获取屏幕大小的文章。下面说下如何获取正确的屏幕大小的方法。 我们知道屏幕的像素是根据DisplayMetrics类来获取的,具体的计算方法是 width = widthPixels * density; height = heightPixels * density (ps: widthPixels 和 heightPixels ,density 都是从DisplayMetrics中获取的)。 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int widthPixels= dm.widthPixels; int heightPixels= dm.heightPixels; float density = dm.density; int screenWidth =(int) (widthPixels * density); int screenHeight = (int) (heightPixels * density); 在320*480 的phone 上的 到的 widthPixels 值是320, heightPixels 值是480, density 的值是1.0。 在480*800 的phone 上的到的idthPixels 值是320, heightPixels 值是533, density 的值是1.5。 注意: 此处DisplayMetrics 不要使用context.getApplicationContext().getResources().getDisplayMetrics(); 此方法在nexus one 中测试的时候得到的 density 的值是1.0 ,以至于我得不到正确的480 * 800 的像素。

转载于:https://www.cnblogs.com/wanyakun/archive/2011/11/16/3403284.html

你可能感兴趣的文章
阿里云Centos配置iptables防火墙
查看>>
UML类图几种关系的总结
查看>>
PHP面试题汇总
查看>>
LeetCode (11): Container With Most Water
查看>>
【技巧】easyUI的datagrid,如何在翻页以后仍能记录被选中的行
查看>>
经过强制类型转换以后,变量a, b的值分别为( )short a = 128; byte b = (byte) a;
查看>>
ubuntu下msmtp+mutt的安装和配置
查看>>
spring中注解说明
查看>>
QLabel显示图片,图片可以自适应label的大小
查看>>
阅读下面程序,请回答如下问题:
查看>>
BZOJ3994:[SDOI2015]约数个数和——题解
查看>>
3、EJB3.0开发第一个无会话Bean和客户端(jboss4.2.3)
查看>>
git fetch & pull详解
查看>>
优酷2013.3去广告 不黑屏
查看>>
web入门、tomcat、servlet、jsp
查看>>
boost_1.63.0编译VS2013
查看>>
mysql查看每个数据库所占磁盘大小
查看>>
Android深度探索第三章
查看>>
jQuery 插件-(初体验一)
查看>>
PHP语言 -- Ajax 登录处理
查看>>