直入主题:
1.获取屏幕宽高(建议写入全局类);
public static Point screenSize(Context context) { WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); Point point = new Point(); wm.getDefaultDisplay().getSize(point); //以下此句代码的意思是,实际屏幕尺寸减去状态栏高度 point.y -= statusBarHeight(context); return point; }
APP_W = ScreenHelper.screenSize(this).x; APP_H = ScreenHelper.screenSize(this).y;
2.根据屏幕大小按比例设置控件大小:
WidgetUtils.setSize(mView,APP_W*1/2,APP_H*1/2);以上代码的意思是,将mView的大小设置成屏幕宽的一半 高的一半;
当控件是纯代码创建出来,即不是通过findViewById创建出来的话,例如View view = new View(context);则要这样写
WidgetUtils.initSize(mView, APP_W * 1 / 2, APP_H * 1 / 2);
3.根据屏幕大小按比例设置控件坐标:
以上代码的意思是,将mView的坐标设置成居中;WidgetUtils.setPoint(mView, APP_W * 1 / 2 - APP_W * 1 / 4, APP_H * 1 / 2 - APP_H * 1 / 4);
结束,就这么简单;
说明:此方法在开发阶段可能比较麻烦,因为需要写不少的代码,但是可以做到适配所有屏幕,不需要创建多个不同分辨率的资源文件
完成以上的适配方法需要用到两个工具类,链接:http://download.csdn.net/download/u010775335/9887148