PopupWindow 算是一个比较常用的控件了,特别是在做下拉菜单时感觉没有比它搞好用的空间了,这里坐下笔记,方便自己以后再次使用的时候查看方便。
PopupWindow 的创建比较简单,直接new PopupWindow("布局文件", "宽度", “高度”, true);然后直接showAsDropDown(v);
这里的v代表的是PopupWindow放在哪个控件的下面 ,当然你也可以将将PopupWindow放在其他的方向上。
写到这里一个PopupWindow算是完成了,但是每个功能对PopupWindow的要求不一样,在要求可以点击外部消失时,可以setOutsideTouchable(true);
setBackgroundDrawable(new BitmapDrawable();这两句缺一不可,如果PopupWindow要求可以获得焦点的时候,setTouchable(true);如果设为false的时候,PopupWindow中的Editext控件就不可能获得焦点。
当PopupWindow中的布局和软件盘冲突的时候可以设置
- //设置弹出窗体需要软键盘,
- popupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
- popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
- 当popunwindow弹出时,软键盘将消失