public void getScreen(){// 通过Activity类中的getWindowManager()方法获取窗口管理,再调用getDefaultDisplay()方法获    取获取Display对象Display display = getWindowManager().getDefaultDisplay();// 方法一(推荐使用)使用Point来保存屏幕宽、高两个数据Point outSize = new Point();// 通过Display对象获取屏幕宽、高数据并保存到Point对象中display.getSize(outSize);// 从Point对象中获取宽、高int x = outSize.x;int y = outSize.y;// 通过吐司显示屏幕宽、高数据Toast.makeText(this, "手机像素为:x:" + x + ",y:" + y+",screen:"+getPhysicsScreenSize(UDPConn.this), Toast.LENGTH_LONG).show();
}/*** 得到屏幕的物理尺寸,由于该尺寸是在出厂时,厂商写死的,所以仅供参考* 计算方法:获取到屏幕的分辨率:point.x和point.y,再取出屏幕的DPI(每英寸的像素数量),* 计算长和宽有多少英寸,即:point.x / dm.xdpi,point.y / dm.ydpi,屏幕的长和宽算出来了,* 再用勾股定理,计算出斜角边的长度,即屏幕尺寸。** @param context* @return*/public static double getPhysicsScreenSize(Context context) {WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);Point point = new Point();manager.getDefaultDisplay().getRealSize(point);DisplayMetrics dm = context.getResources().getDisplayMetrics();int densityDpi = dm.densityDpi;//得到屏幕的密度值,但是该密度值只能作为参考,因为他是固定的几个密度值。double x = Math.pow(point.x / dm.xdpi, 2);//dm.xdpi是屏幕x方向的真实密度值,比上面的densityDpi真实。double y = Math.pow(point.y / dm.ydpi, 2);//dm.xdpi是屏幕y方向的真实密度值,比上面的densityDpi真实。double screenInches = Math.sqrt(x + y);return screenInches;}/*** 获取屏幕像素,尺寸,dpi相关信息* @param activity 上下文* @return 屏幕信息*/public static String getScreenInfo(Activity activity){DisplayMetrics displayMetrics = new DisplayMetrics();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {//4.2开始有虚拟导航栏,增加了该方法才能准确获取屏幕高度activity.getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics);}else{activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);//displayMetrics = activity.getResources().getDisplayMetrics();//或者该方法也行}Point point = new Point();activity.getWindowManager().getDefaultDisplay().getRealSize(point);double x = Math.pow(point.x / displayMetrics.xdpi, 2);//dm.xdpi是屏幕x方向的真实密度值,比上面的densityDpi真实。double y = Math.pow(point.y / displayMetrics.ydpi, 2);//dm.xdpi是屏幕y方向的真实密度值,比上面的densityDpi真实。double screenInches = Math.sqrt(x + y);return "screenSize="+screenInches+ ",densityDpi="+displayMetrics.densityDpi+ ",width="+displayMetrics.widthPixels+",height="+displayMetrics.heightPixels;}

android获取屏幕尺寸,像素相关推荐

  1. Android获取屏幕尺寸,屏幕适配

    获取屏幕尺寸: DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics( ...

  2. Android 获取屏幕尺寸(设备对角线的英寸数)

    使用屏幕的实际的宽高,根据勾股定理来计算设备的尺寸. 由于Android系统版本的不同和有的设备具有虚拟按键,需要根据不同的SDK的版本使用不同的方法来获取屏幕的实际宽高. 计算方法: Math.sq ...

  3. Android 获取屏幕尺寸与密度

    遇到一个问题,我的地图浮标图片在WVGA手机上正好,在QVGA上就显的太大,所以我要根据屏幕的不同调整浮标的大小使其在QVGA大小合适.有的同事提出了依据分辨率来区分不同的屏幕,但是单WVGA就支持好 ...

  4. android获取屏幕尺寸、密度

    http://developer.android.com/reference/android/util/DisplayMetrics.html DisplayMetrics metric = new ...

  5. android获取屏幕尺寸、密度(判断手机屏幕类型)

    1. 概念介绍 分辨率:横纵2个方向的像素点的数量,常见取值 480X800 ,320X480 屏幕大小: 例如我的是4.0 英寸, 就是指 从屏幕的左上角 到 屏幕的右下角 连线长度为4.0英寸(可 ...

  6. Android获取屏幕尺寸大小

    官方API: A structure describing general information about a display, such as its size, density, and fo ...

  7. android查看屏幕大小,android获取屏幕尺寸的三种代码

    第一种:DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); ...

  8. Android 获取屏幕大小以及尺寸

    在Android开发中,获取手机屏幕像素的方法有多种.在这里,我仅仅做一个小小的总结,将这些方法分为两类.一类是使用Activity类来获取,另一类便是使用上下文(Context)来获取. /*** ...

  9. android获取屏幕像素密度DPI、density、屏幕宽高

    获取手机屏幕像素密度 dpi DisplayMetrics metrics = new DisplayMetrics(); getActivity().getWindowManager().getDe ...

最新文章

  1. 外媒:英贸易大臣将与其他国家商脱欧后贸易协议
  2. minikube配置使用代理
  3. python编程单片机_Micro Python:用Python语言控制单片机
  4. SAP Spartacus Org Unit List响应回车案件的实现原理
  5. 高级同步器:可重用的同步屏障Phaser
  6. BZOJ 5249: [2018多省省队联测]IIIDX(贪心 + 线段树)
  7. 使用阿里云docker加速器
  8. antd表格显示分页怎么取消_真相!Word里怎么也删不掉的文档空白页原来是这样...
  9. pythonif有多个条件怎么办,Python if有多个条件怎么办
  10. Title函数--Matplotlib
  11. tp6 支付宝沙箱支付
  12. amd服务器epyc系列,AMD在市场上有EPYC系列的两个版本
  13. 苹果手机上linux编程,iOS真机调试 - iOS学习笔记_Linux编程_Linux公社-Linux系统门户网站...
  14. Solr高级查询Facet
  15. c语言二分答案最小值,C语言程序设计第2版课后习题答案(贾宗璞许合利人民邮电-第2版).doc...
  16. 石墨文档支持的几种markdown格式
  17. 2021 前端 VUE 面试题总汇
  18. Java 2实用教程(第五版)第一课
  19. STM32F407和DP83848芯片RMII模式硬件电路图参考
  20. G-140W-ME 光猫改桥接方法

热门文章

  1. 固高Otostudio软件使用基础知识
  2. JAVA和SQL中时间的格式化 (yyyy-MM-dd HH:mm:ss转换规则)知识总结
  3. SpringFramework核心技术一(IOC:ApplicationContext的附加功能)
  4. 第三次作业--团队展示(团队)
  5. 如何像海豚一样在数据海洋里遨游?|Hbase数据处理流程详解
  6. python爬虫-源码
  7. 计算机系统自动撮合成交的原则,什么是撮合成交原则,撮合成交价是怎么确定的?...
  8. R-CNN论文详解(论文翻译)
  9. pycharm调试代码139错误的可能解决办法
  10. caffe+win10 安装