time 
设为首页】【收藏本站
当前位置: 主页 > 电脑网络 > 操作系统 > 嵌入式 > Android > Android PopupWindow点击消失的解决办法

Android PopupWindow点击消失的解决办法

时间:2013-12-31 13:53 点击:19872次 字体:[ ]




1、点击PopupWindow 外部区域时,PopupWindow消失

  1. popMenu = new PopupWindow(getApplicationContext());   
  2.         popMenu.setWidth(LayoutParams.MATCH_PARENT);   
  3.     
  4.         popMenu.setHeight(LayoutParams.MATCH_PARENT);   
  5.     
  6.         popMenu.setBackgroundDrawable(new BitmapDrawable());   
  7.     
  8.         popMenu.setFocusable(true);   
  9.         popMenu.setOutsideTouchable(true); 

 

这里使用了 setOutsideTouchable 属性,具体可以去参考 developer文档。

使用PopupWindow注意事项:必须设置PopupWindow的backgroundDrawable,否则会出现各种意想不到的bug。

2、点击PopupWindow 自身时(非按钮控件时),PopupWindow消失

解决办法:给 PopupWindow的 contentView 注册一个点击事件

  1. view.setOnClickListener(new OnClickListener() {   
  2.                 
  3.             @Override 
  4.             public void onClick(View v) {   
  5.                 if(popMenu.isShowing()){   
  6.                     dismiss();   
  7.                 }   
  8.             }   
  9.         });   
  10.     
  11. popMenu.setContentView(view);   
  12.     
  13.         popMenu.showAtLocation(v, Gravity.BOTTOM, 00);   
  14.         // popMenu.setAnimationStyle(R.style.popwin_anim_style);   
  15.     
  16.         popMenu.update(); 

 



本文地址 : http://www.fengfly.com/plus/view-214384-1.html
标签: Android popupwindow
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: