现在做的项目里面有个好友列表(类似人人那种),点击列表行上的更多按钮的时候出现一个popupWindow,里面有电话 聊天等操作.但是popupWindow的宽度和高度是在构造的时候提供的,就是写死的,这个怎么做适配呢??
我想了一个办法,我先只做一个分辨率的 ,我先做的是800*480,这时候我适合我的布局的测试宽度 :160 高度 : 80 。
然后就要做其他分辨率的适配了:
具体这样:
1、先获得当前运行程序的设备的分辨率
DisplayMetrics dm = new DisplayMetrics();
MainFrame frame = (MainFrame) context;
frame.getWindowManager().getDefaultDisplay().getMetrics(dm);
2、与800*480的进行比较 得到宽度和高度的比率
float radiowidth = dm.widthPixels / 480.0f;
float radioheight = dm.heightPixels / 800.0f;
3、构造popupWindow对象
popupWindow = new PopupWindow(layout, (int) (160 * radiowidth),(int)(80 * radioheight));
这样就可以做到屏幕适配了。