Android获取屏幕长宽

总结了下,我遇到的获取Android屏幕长宽的方式总共有三种。大同小异,重点在于如何获取系统中的WindowManager管理类对象,方可对数据的操作;

代码如下

 1     /**
 2      * @return 屏幕的长宽数组
 3      * @author WHF
 4      */
 5     public int[] getScreen(){
 6         DisplayMetrics dm;
 7         Application mApplication = new Application();
 8         dm = mApplication.getResources().getDisplayMetrics();
 9         int screens[] = new int[]{dm.widthPixels,dm.heightPixels};
10         return screens;
11     }
12     /**
13      * @param context 通过系统服务来获取相应的系统管理器,从而获得到屏幕长宽
14      * @author WHF
15      */
16     public void getScreen(Context context){
17         DisplayMetrics dm = new DisplayMetrics();
18         WindowManager wManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
19         wManager.getDefaultDisplay().getMetrics(dm);
20         int width = dm.widthPixels;
21         int height = dm.heightPixels;
22     }
23     /**
24      * @param activity 该参数可直接得到winmanager.
25      */
26     public void getScreen(Activity activity){
27         DisplayMetrics dm = new DisplayMetrics();
28         activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
29         int width = dm.widthPixels;
30         int height = dm.heightPixels;
31     }

 

posted @ 2015-11-10 16:42  掏富小牛  阅读(262)  评论(0编辑  收藏  举报