一、该方法返回一个DisplayMetric类型的对象
//获取当前屏幕尺寸的大小
private static DisplayMetrics getMetrics(Context context) {
DisplayMetrics metrics = new DisplayMetrics();
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
manager.getDefaultDisplay().getMetrics(metrics);
return metrics;
}
首先、该方法里头定义了一个metrics对象,查阅相关资料可以知道,DisplayMetrics 里头有连个属性分别是 public int widthPixels和 public int heightPixels;看单词的意思就知道分别表示屏幕的宽度和高度。
即:
int x=metrics.widthPixels;//获取屏幕的宽度
int y=metrics.heightPixels;//获取屏幕的高度
WindowManager是Android中一个重要的Service,是全局且唯一的。WindowManager继承自ViewManager。主要用来管理窗口的一些状态、属性、view增加、删除、更新、窗口顺序、消息收集和处理等。通过Context.getSystemService(Context.WINDOW_SERVICE)的方式可以获得WindowManager的实例。Android中真正展示给用户的是window和view,activity所起的作用主要是处理一些逻辑问题,比如生命周期管理及建立窗口。WindowManager属于android体系结构中的ApplicationFramwork层,想了解更多关于WindowManager的知识,请点击这里
二、设置一个LinearLayout的大小
LinearLayout lay= (LinearLayout) view.findViewById(R.id.lay_afford);
LinearLayout.LayoutParams lLayoutlayoutParams = new LinearLayout.LayoutParams( x,y);
lay.setLayoutParams(lLayoutlayoutParams);
在android中一些屏幕适配问题就可以通过获取屏幕大小来解决。