Android获取设备屏幕大小的几种方法总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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;
感谢阅读,希望能帮助到⼤家,谢谢⼤家对本站的⽀持!。