Android基础篇 Android获取屏幕宽高的方法

Posted 彭老希

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android基础篇 Android获取屏幕宽高的方法相关的知识,希望对你有一定的参考价值。

一、通过获取系统服务的方式

WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();

二、通过Activity/Fragment来获取

(1)Activity

WindowManager wmAct = this.getWindowManager();
//WindowManager wmAct = getWindowManager();
int width1 = wmAct.getDefaultDisplay().getWidth();
int height1 = wmAct.getDefaultDisplay().getHeight();

(2) Fragment / Dialog

WindowManager wm1 = getActivity.getWindowManager();
int width1 = wm1.getDefaultDisplay().getWidth();
int height1 = wm1.getDefaultDisplay().getHeight();

三、借助DisplayMetrics来获取画面宽高

WindowManager manager = this.getWindowManager();
DisplayMetrics outMetrics = new DisplayMetrics();
manager.getDefaultDisplay().getMetrics(outMetrics);
int width = outMetrics.widthPixels;
int height = outMetrics.heightPixels;

四、通过资源来借助DisplayMetrics来获取画面宽高

Resources resources = this.getResources();
DisplayMetrics dm = resources.getDisplayMetrics();
float density = dm.density;
int width = dm.widthPixels;
int height = dm.heightPixels;

以上是关于Android基础篇 Android获取屏幕宽高的方法的主要内容,如果未能解决你的问题,请参考以下文章

Android实战开发篇 获取控件宽高

android 取得屏幕物理宽高

Android View何时能拿到宽高的值

android获取控件宽高和屏幕宽高

Android应用:StatusBar状态栏NavigationBar虚拟按键栏ActionBar标题栏Window屏幕内容区域等的宽高

Android 获取 View 宽高的常用正确方式,避免为零