天天看点

关于popupwindow相关问题的总结

popupwindow非常适合于轻量级的弹出,相比dialog,可以自定义位于哪个位置,哪个控件的任意方向弹出,用法很多。

先说在控件的某个方向上弹出

在控件上方弹出

int[] location = new int[2];

arg0.getLocationOnScreen(location);

popupwindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0], location[1]-popupwindow.getHeight());  

在控件下方弹出

popupwindow.showAsDropDown(v, 0, 0);

后面的0,0是相对于控件的偏移量

popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]-popupWindow.getWidth(), location[1]);  

popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]+v.getWidth(), location[1]);

项目中popupwindow中的选项是服务器提供的,所以用到了listview来展示数据,使用的时候要注意限制listview 的宽度,可以用layoutparam来控制

参考了http://blog.csdn.net/janronehoo/article/details/8570172

转载请注明本文出处! 

继续阅读