实现
获取Android屏幕尺寸,下面列出两种方式:
第一种:
private int[] getScreenSize(Context context){
int[] screenSize = new int[2];
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
screenSize[0] = metrics.widthPixels;
screenSize[1] = metrics.heightPixels;
return screenSize;
}
第二种:
private int[] getScreenSize(Activity context){
int[] screenSize = new int[2];
Display metrics = context.getWindowManager().getDefaultDisplay();
screenSize[0] = metrics.getWidth();
screenSize[1] = metrics.getHeight();
return screenSize;
}
不过这种方法中,getWidth()
和getHeight()
被标记为 @deprecated
了,所以我改成了下面这种方式:
private int[] getScreenSize(Activity context){
int[] screenSize = new int[2];
Display metrics = context.getWindowManager().getDefaultDisplay();
Point point = new Point();
metrics.getSize(point);
screenSize[0] = point.x;
screenSize[1] = point.y;
return screenSize;
}
总结
从上面看,可以发现第二种方式需要一个Activity
对象才行,而第一种只需要一个Context
对象就行了,所以第一种的应用可以更广泛一些。