本文主要是介绍Android获取屏幕长宽,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
从来源上讲,获取屏幕的长宽有两种途径。一是WindowManager(以下简称WM)拿到Display对象;另一个是通过DisplayMetrics对象。
1.Display对象,这个途径在高一些的版本里是过期的,下面我也加上了删除线表示
//this是context对象
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
int width11 = wm.getDefaultDisplay().getWidth();//getWidth()过期
int height11 = wm.getDefaultDisplay().getHeight();//同上过期
//this是activity对象
WindowManager wm = this.getWindowManager();
int width12 = wm.getDefaultDisplay().getWidth();//同上
int height12 = wm.getDefaultDisplay().getHeight();//同上
2. DisplayMetrics对象
//通过WM获取displaymetrics,此处this是activity对象,参考上面,context获取WM的方式也可以
WindowManager wm= this.getWindowManager();
DisplayMetrics dm= new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
int width21 = dm.widthPixels;
int height21 = dm.heightPixels;
//通过Resources获取displaymetrics,此处this是context对象
Resources resources = this.getResources();
DisplayMetrics dm = resources.getDisplayMetrics();
float density = dm.density;
int width22 = dm.widthPixels;
int height22 = dm.heightPixels;
这篇关于Android获取屏幕长宽的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!