关于Android获取屏幕分辨率大小

一、获取分辨率

        使用getSize() 办法

	Display display = getWindowManager().getDefaultDisplay();
	Point size = new Point();
	display.getSize(size);
	int width = size.x;
	int height = size.y;
        如果不在 Activity 内可以通过 WINDOW_SERVICE 来获取 Display 对象  
	WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
	Display display = wm.getDefaultDisplay();

        使用DisplayMetrics 对象来获取

	DisplayMetrics dm = new DisplayMetrics();
	getWindowManager().getDefaultDisplay().getMetrics(dm);
	int width = dm.widthPixels;
	int height = dm.heightPixels;



二、虚拟按键的情况下获取物理分辨率
       如果是4.0以上的系统,而且屏幕是带有虚拟按键的上面的代码获取的屏幕分辨率是除去虚拟按键以外的,在有虚拟按键情况下比如分辨率是:800×480 ,上面代码获取的是:480×728。那在带有虚拟按键的情况下如何获取真正的分辨率,可以使用display.getRealSize()  
	Display display = getWindowManager().getDefaultDisplay();
	Point outSize = new Point();
	display.getRealSize(outSize);
	int width = outSize.x;
	int height = outSize.y;

你可能感兴趣的:(Android)