Android 获取设备屏幕大小的几种方法总结
1、通过WindowManager获取
DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); System.out.println("heigth : " + dm.heightPixels); System.out.println("width : " + dm.widthPixels);
2、通过Resources获取
DisplayMetrics dm2 = getResources().getDisplayMetrics(); System.out.println("heigth2 : " + dm2.heightPixels); System.out.println("width2 : " + dm2.widthPixels);
3、获取屏幕的默认分辨率
Display display = getWindowManager().getDefaultDisplay(); System.out.println("width-display :" + display.getWidth()); System.out.println("heigth-display :" + display.getHeight());
可以看到,第一、第三种方法都用到了getWindowManager()这个方法,而第二种方法没有用getWindowManager()。有些网友说书写getWindowManager()后eclipse会报错,说没有getWindowManager()这个方法,这是什么原因呢?因为getWindowManager()这个方法是在类Activity中的,如果你自己编写的类不是继承于类Activity,那么必然在这个类中书写代码就不能用到getWindowManager()这个方法。所以当你自己编写的类不是继承于类Activity,那么可用第二种方法获取手机屏幕的大小或者先获取activity。
fragment中获取:
先获取activity再获取windowManager
DisplayMetrics dm = new DisplayMetrics(); getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); int screenW = dm.widthPixels;
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
android 获取屏幕像素大小的正确方法
相信看到此文章的时候,大多人已经看了许多获取屏幕像素的文章,从其他文章我们知道 屏幕的像素是根据DisplayMetrics类来获取的 具体的计算方法是 width = widthPixels * density; height = heightPixels * density (ps: widthPixels 和 heightPixels ,density 都是从DisplayMetrics中获取的). 复制代码 代码如下: DisplayMetrics dm = new
-
Android编程获取屏幕宽高与获取控件宽高的方法
本文实例讲述了Android编程获取屏幕宽高与获取控件宽高的方法.分享给大家供大家参考,具体如下: 获取屏幕宽高 // 获取屏幕宽高(方法1) int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px) int screenHeight = getWindowManager().getDefaultDisplay().getHeight(); // 屏幕高(像素,如:800p) L
-
android获取屏幕的长与宽实现代码(手写)
android中获取屏幕的长于宽,参考了网上有很多代码,但结果与实际不符,如我的手机是i9000,屏幕大小是480*800px,得到的结果却为320*533 结果很不靠谱,于是自己写了几行代码,亲测一下 测试参数: 测试环境: i9000(三星) 物理屏幕:480*800px density :1.5 测试代码: 复制代码 代码如下: // 获取屏幕密度(方法1) int screenWidth = getWindowManager().getDefaultDisplay().getWidth(
-
android获取屏幕高度和宽度的实现方法
本文实例讲述了android获取屏幕高度和宽度的实现方法.分享给大家供大家参考.具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现.下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即可获取屏幕的尺寸. 在一个Activity的onCreate方法中,写入如下代码: 复制代码 代码如下: DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefau
-
Android 四种获取屏幕宽度的方法总结
Android 四种获取屏幕宽度的方法 方法一: WindowManager wm = (WindowManager) this .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight(); 方法二: WindowManager wm1 = this.getWindowManager
-
Android判断NavigationBar是否显示的方法(获取屏幕真实的高度)
有些时候,我们需要知道当前手机上是否显示了NavigationBar,也就是屏幕底部的虚拟按键. 比如截屏的时候,要获取屏幕的高度,必须包括NavigationBar的高度. 试过网上的多种方法,但是对那种可以通过手势来显示/隐藏的NavigationBar没办法,最后终于找到了一个好办法,看代码: public boolean isNavigationBarShow(){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_M
-
android获取屏幕宽高与获取控件宽高(三种方法)
1.获取屏幕宽高 方法1: int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px) int screenHeight = getWindowManager().getDefaultDisplay().getHeight(); // 屏幕高(像素,如:800p) Log.e(TAG + " getDefaultDisplay", "screenWidth=&q
-
Android获取屏幕或View宽度和高度的方法
本文实例讲述了Android获取屏幕或View宽度和高度的方法.分享给大家供大家参考,具体如下: 在Activity中获取屏幕的高度和宽度 Display display=getWindowManager().getDefaultDisplay(); int width=display.getWidth(); int height=display.getHeight(); 在重写ViewGroup中获取屏幕的有效宽度和高度在OnMesure方法中 protected void onMeasure
-
Android 获取设备屏幕大小的几种方法总结
1.通过WindowManager获取 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); System.out.println("heigth : " + dm.heightPixels); System.out.println("width : " + dm.widthPixels); 2.通过Resources获取 Di
-
Android获取设备屏幕宽高pix值的方法
本篇文章主要介绍了Android获取设备屏幕宽高pix值的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 方法一: WindowManager wm = (WindowManager) this .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight
-
详解Android获取设备唯一ID的几种方式
先来看看几种比较单一的方式: IMEI 方式:TelephonyManager.getDeviceId(): 问题 范围:只能支持拥有通话功能的设备,对于平板不可以. 持久性:返厂,数据擦除的时候不彻底,保留了原来的标识. 权限:需要权限:Android.permission.READ_PHONE_STATE bug: 有些厂家的实现有bug,返回一些不可用的数据 Mac地址 ACCESS_WIFI_STATE权限 有些设备没有WiFi,或者蓝牙,就不可以,如果WiFi没有打开,硬件也不会返回
-
Android应用禁止屏幕休眠的3种方法
做Android应用开发时,有时需要在应用前台运行时,禁止休眠,以下几种方法供参考. 方法一:持有WakeLock 添加休眠锁,休眠锁必须成对出现. private WakeLock mWakeLock = null; private void acquireWakeLock() { if(mWakeLock == null) { PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE); mWakeLock
-
iOS获取设备唯一标识的8种方法
8种iOS获取设备唯一标识的方法,希望对大家有用. UDID UDID(Unique Device Identifier),iOS 设备的唯一识别码,是一个40位十六进制序列(越狱的设备通过某些工具可以改变设备的 UDID),移动网络可以利用 UDID 来识别移动设备. 许多开发者把 UDID 跟用户的真实姓名.密码.住址.其它数据关联起来,网络窥探者会从多个应用收集这些数据,然后顺藤摸瓜得到这个人的许多隐私数据,同时大部分应用确实在频繁传输 UDID 和私人信息. 为了避免集体诉讼,苹果最终决
-
Android 获取内外SD卡路径几种方法总结
Android 获取SD卡路径: 外置sd卡路径,也许很多同学在平时的工作中并不会用到,因为现在很多机型都不支持外置sd卡(这也是Google目标),所以并不用考虑外置sd卡的路径问题.除了开发文件管理类的应用之外,其他应用使用 Enviroment 这个类中的一些静态方法就能满足需要.但也有一些特殊需求需要用到外置sd卡路径,那怎么才能准确获得外置sd卡的路径呢? 方法一 //内置sd卡路径 String sdcardPath = System.getenv("EXTERNAL_STORAGE
-
Android编程基础之获取手机屏幕大小(DisplayMetrics应用)示例
本文实例讲述了Android获取手机屏幕大小的方法.分享给大家供大家参考,具体如下: 这里主要用了三个对象TextView ,Button ,以及DisplayMetrics ,其中Displaymetrics 是取得手机屏幕大小的关键类,这个例子非常的简单,当我们点击按钮,触发事件,在TextView 里显示手机屏幕的宽高分辨率. 看一下效果图: 按钮触发前: 按钮触发后: 其中我们在res->layout->values->string.xml增加了两行如下: <string
-
Android获取设备CPU核数、时钟频率以及内存大小的方法
本文实例讲述了Android获取设备CPU核数.时钟频率以及内存大小的方法.分享给大家供大家参考,具体如下: 因项目需要,分析了一下 Facebook 的开源项目 - Device Year Class. Device Year Class 的主要功能是根据 CPU核数.时钟频率 以及 内存大小 对设备进行分级.代码很简单,只包含两个类: DeviceInfo -> 获取设备参数, YearClass -> 根据参数进行分级. 下表是 Facebook 公司提供的分级标准,其中 Year 栏表
-
Android中获取手机屏幕大小的方法
本文为大家解析Android中如何获取手机屏幕大小,提供一个解决方法,分享给大家供大家参考,具体内容如下 运行效果图: 运行程序后,当我们点击Button按钮时,可以看到下面的效果图: 具体代码: 我们可以通过使用类DisplayMetrics来获取手机屏幕的分辨率大小.DisplayMetrics类是获取手机屏幕各种属性的关键类.下面通过例子来展示如何获取手机屏幕的分辨率. 在布局文件main.xml中添加一个TextView对象,一个Button对象.其中TextView对象用来显示获得的分
-
Android自适应不同屏幕大小的全部方法
本文讲述了Android自适应不同屏幕大小的全部方法.分享给大家供大家参考,具体如下: 本文将告诉你如何让你的应用程序支持各种不同屏幕大小,主要通过以下几种办法: 让你的布局能充分的自适应屏幕: 根据屏幕的配置来加载合适的UI布局: 确保正确的布局应用在正确的设备屏幕上: 提供可以根据屏幕大小自动伸缩的图片: 使用 "wrap_content" 和 "match_parent". 为了确保你的布局能够自适应各种不同屏幕大小,你应该在布局的视图中使用"wra
随机推荐
- 通过JavaScript脚本复制网页上的一个表格
- 通过perl实现一个简单的NIDS
- js类式继承的具体实现方法
- 将木马拒之门外 设置电脑防止黑客入侵的技巧
- 进程监控实现代码[vbs+bat]
- iOS实现第三方微信登录方式实例解析(最新最全)
- .net开发:为程式码加上行号的方法详解
- php开启多进程的方法
- 绿色版mysql注册卸载服务方法
- ob_start(),ob_start('ob_gzhandler')使用
- ajax翻页效果模仿yii框架自己写的
- 如何用JavaScript动态呼叫函数(两种方式)
- 分享几个超级震憾的图片特效
- 关于jQuery参考实例2.0 用jQuery选择元素
- batchcollect pagecollect来自官方杰奇jieqi定时采集配置方法参数详解第1/2页
- Android 单线程模型详解及实例
- Android自定义仿微信PopupWindow效果
- 详解servlet配置load-on-startup的作用
- java遍历Map的几种方法分析
- 在Zeus Web Server中安装PHP语言支持