1、 PopuWindow 的大小由下面代码控制;

PopupWindow  window   =   new  PopupWindow(view, ViewGroup.LayoutParams.FILL_PARENT,

              ViewGroup.LayoutParams.WRAP_CONTENT);

2、 popuWindow.showAsDropDown(v);方法是将PopuWindow显示在View v的左下方;

3、 showAtLocation() 更具体的参数安排popupwindow的位置

4、 需要顺利让PopUpWindow dimiss(即点击PopuWindow之外的地方此或者back键PopuWindow会消失);PopUpWindow的背景不能为空。必须在popuWindow.showAsDropDown(v);或者其它的显示PopuWindow方法之前设置它的背景不为空:如下面两行代码:

ColorDrawablecd = new ColorDrawable(-0000);

popuWindow.setBackgroundDrawable(cd);

popuWindow.showAsDropDown(v);

注意这里设置背景并不会覆盖xml文件定义的背景。

5、 当有popuWindow.setFocusable(false);的时候,说明PopuWindow不能获得焦点,即使设置设置了背景不为空也不能点击外面消失,只能由dismiss()消失,但是外面的View的事件还是可以触发,back键也可以顺利dismiss掉。当设置为popuWindow.setFocusable(true);的时候,加上上面两行设置背景代码,点击外面和Back键才会消失。

6、 // 这里设置显示PopuWindow之后在外面点击是否有效。如果为false的话,那么点击PopuWindow外面并不会关闭PopuWindow。当然这里很明显只能在Touchable下才能使用。

popuWindow.setOutsideTouchable(true);

相关文章:

  • 2021-11-06
  • 2021-11-14
  • 2021-06-12
  • 2022-12-23
  • 2022-01-27
  • 2022-02-02
猜你喜欢
  • 2021-12-06
  • 2022-01-15
  • 2021-07-29
  • 2022-12-23
  • 2021-07-04
  • 2022-12-23
  • 2021-09-27
相关资源
相似解决方案