两个函数直接反馈当前手机的宽度跟高度
// 获得屏幕的宽度
public static int getScreenWidth(Context ctx) {
// 从系统服务中获取窗口管理器
WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
// 从默认显示器中获取显示参数保存到dm对象中
wm.getDefaultDisplay().getMetrics(dm);
return dm.widthPixels; // 返回屏幕的宽度数值
}
// 获得屏幕的高度
public static int getScreenHeight(Context ctx) {
// 从系统服务中获取窗口管理器
WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
// 从默认显示器中获取显示参数保存到dm对象中
wm.getDefaultDisplay().getMetrics(dm);
return dm.heightPixels; // 返回屏幕的高度数值
}
在android开发过程中,对于控件的高度,宽度,通过上面的函数调用,轻松实现编程中设置控件的相对宽度跟高度:
以下为一个设置占据屏幕4分之1大小的控件的方式:
xxx.getLayoutParams().width = getScreenWidth(this)/2;
xxx.getLayoutParams().height = getScreenHeight(this)/2;