Android屏幕区域划分及尺寸获取

Android屏幕可以划分为五个区域

1. 整个屏幕

         获取方法为getRealSize或getRealMetrics,或直接从根窗口DecorView中获取
         1)方法1
        Point outSize = new Point();
		getWindowManager().getDefaultDisplay().getRealSize(outSize);
		int x = outSize.x;
		int y = outSize.y;
		 2)方法2
		DisplayMetrics outMetrics = new DisplayMetrics();
		getWindowManager().getDefaultDisplay().getRealMetrics(outMetrics);
		int widthPixel = outMetrics.widthPixels;
		int heightPixel = outMetrics.heightPixels;
		 3)方法3
		 DecorView   view=getWindow().getDecorView();
         int width = view.getWidth();         //getWidth方法可能是过时了,不过不要紧,你输入的时候IDE会提示修改
         int height = view.getHeight();      //getHeight方法可能是过时了,不过不要紧,你输入的时候IDE会提示修改

Android屏幕区域划分及尺寸获取_第1张图片

2. 应用程序区

         获取方法为getSize或getMetrics,即上述屏幕方法中去掉Real,或直接从根窗口DecorView中获取
		1)方法1
		Display defaultDisplay = getWindowManager().getDefaultDisplay();
	    Point point = new Point();
	    defaultDisplay.getSize(point);
	    int x = point.x;
	    int y = point.y;
	    2)方法2
	    Rect outSize = new Rect();
	    getWindowManager().getDefaultDisplay().getRectSize(outSize);
	    int left = outSize.left;
	    int top = outSize.top;
	    int right = outSize.right;
	    int bottom = outSize.bottom;
	    3)方法3
	    DisplayMetrics outMetrics = new DisplayMetrics();
	    getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
	    int widthPixels = outMetrics.widthPixels;
	    int heightPixels = outMetrics.heightPixels;
		4)方法4
		Rect outRect = new Rect();
        View view = getWindow().getDecorView();
        view.getWindowVisibleDisplayFrame(outRect);
        int width = outRect.width();
        int height = outRect.height();

Android屏幕区域划分及尺寸获取_第2张图片

3. 应用程序区内容区

         View view2 = getWindow().findViewById(Window.ID_ANDROID_CONTENT);
         int width = view2.getWidth();
         int height = view2.getHeight();

Android屏幕区域划分及尺寸获取_第3张图片

4. 标题栏及状态栏

	用以上获取的各区域相减即可得出

Android屏幕区域划分及尺寸获取_第4张图片 Android屏幕区域划分及尺寸获取_第5张图片

你可能感兴趣的:(Android屏幕区域划分及尺寸获取)