这里有新鲜出炉的精品教程,程序狗速度看过来!
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 "安卓" 或 "安致"。
这篇文章主要介绍了 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;
来源: http://www.phperz.com/article/17/0817/337691.html