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 Doze模式下Alarm定时任务实现流程详解
这篇文章主要介绍了Android Doze模式下Alarm定时任务实现,Android的定时任务有两种,一种是JavaAPI提供的Timer类,另一种就是使用Android的Alarm机制2022-11-11Android中RecyclerView布局代替GridView实现类似支付宝的界面
RecyclerView比GridView来得更加强大,不仅是在分割线的绘制方面,在条目的编辑上也做得同样出色,下面就来看一下Android中RecyclerView布局代替GridView实现类似支付宝的界面的实例2016-06-06Android自定义ViewGroup实现带箭头的圆角矩形菜单
这篇文章主要为大家详细介绍了Android自定义ViewGroup带箭头的圆角矩形菜单实现方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-07-07
最新评论