全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

android popuwindow点击外部窗口不消失的实例

网上大多数都是说如何监听点击外部消失,但我遇到的问题是点击外面不让其消失,如下是我的解决方案,关键是:popupMenu.setBackgroundDrawable(null);popupMenu.setFocusable(false);

popupMenu = new PopupWindow(view, keylinearlayout.getWidth(), LayoutParams.WRAP_CONTENT);

 ColorDrawable cd = new ColorDrawable(R.color.white);
 //popupMenu.setBackgroundDrawable(cd);
 popupMenu.setBackgroundDrawable(null);
 popupMenu.setAnimationStyle(R.style.AnimBottom);
 popupMenu.update();
 popupMenu.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
 popupMenu.setTouchable(true); // 设置popupwindow可点击
 popupMenu.setOutsideTouchable(false); // 设置popupwindow外部可点击
 popupMenu.setFocusable(false); // 获取焦点

 popupMenu.setTouchInterceptor(new View.OnTouchListener() {

  @Override
  public boolean onTouch(View v, MotionEvent event) {
  // 如果点击了popupwindow的外部,popupwindow也会消失
  // 这里如果返回true的话,touch事件将被拦截
  // 拦截后 PopupWindow的onTouchEvent不被调用,这样点击外部区域无法dismiss
  if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
   //popupMenu.dismiss();
   StationEventCaptain.getInstance().fireEventDataChange(
    new StationEventData(IStationEventName.HEDGE_KEYBORAD_DIMISS, true));
   return true;
  }
  return false;
  }
 });

 //初始化键盘上的数字
 initALLDig(view);
 }

 @Override
 public PopupWindow createPupupWindow() {
 return popupMenu;
 }

 @Override
 public void showPopupMenu() {
 if (popupMenu != null && popupMenu.isShowing()) {
  popupMenu.dismiss();
  StationEventCaptain.getInstance().fireEventDataChange(
   new StationEventData(IStationEventName.HEDGE_KEYBORAD_DIMISS, true));
 } else {
  //popupMenu.showAsDropDown(sourceEditView);

  int pianyi = dpToPx(activity, 8);
  if (keyboardType == IPopupMenu.MENU_TYPE_HEDGE_Left) {
  popupMenu.showAtLocation(keylinearlayout, Gravity.BOTTOM | Gravity.LEFT, pianyi, 0); //设置layout在PopupWindow中显示的位置 
  } else if (keyboardType == IPopupMenu.MENU_TYPE_HEDGE_RIGHT) {
  popupMenu.showAtLocation(keylinearlayout, Gravity.BOTTOM | Gravity.RIGHT, pianyi, 0); //设置layout在PopupWindow中显示的位置 
  } else {
  popupMenu.showAtLocation(keylinearlayout, Gravity.BOTTOM | Gravity.LEFT, 0, 0); //设置layout在PopupWindow中显示的位置 
  }

  // popupMenu.showAsDropDown(sourceView,
  // Math.round(sourceView.getX()),
  // (int) (sourceView.getY()));
 }
 }

 /**
 * 将dp转成像素的
 * 
 * @param context
 * @param dp
 * @return
 */
 static int dpToPx(final Context context, final float dp) {
 return (int) (dp * context.getResources().getDisplayMetrics().density);
 }

 @Override
 public void destroyPopupMenu() {
 popupMenu.dismiss();
 StationEventCaptain.getInstance()
  .fireEventDataChange(new StationEventData(IStationEventName.HEDGE_KEYBORAD_DIMISS, true));

 }

成功解决,有问题可以讨论。

以上这篇android popuwindow点击外部窗口不消失的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# dialog点击外部不消失  # Android7.0 工具类:DiffUtil详解  # 适配android7.0获取文件的Uri的方法  # Android7.0 MessageQueue详解  # Android圆形头像拍照后“无法加载此图片”的问题解决方法(适配Android7.0)  # Android中PopuWindow实现下拉列表实例  # Android adb.exe程序启动不起来 具体解决方法  # Android Studio的中文乱码问题解决方法  # Android Activity切换(跳转)时出现黑屏的解决方法 分享  # 基于Android中实现定时器的3种解决方法  # Android SDK三种更新失败及其解决方法  # Android7.0上某些PopuWindow出现显示位置不正确问题的解决方法  # 给大家  # 也会  # 但我  # 希望能  # 问题是  # 将被  # 是说  # 这篇  # 不被  # 小编  # 让其  # 转成  # 大家多多  # 网上  # setInputMethodMode  # update  # INPUT_METHOD_NEEDED  # true  # setTouchable  # AnimBottom 


相关文章: 高端云建站费用究竟需要多少预算?  如何快速上传自定义模板至建站之星?  如何用花生壳三步快速搭建专属网站?  建站之星安装路径如何正确选择及配置?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  制作网站的公司有哪些,做一个公司网站要多少钱?  如何用虚拟主机快速搭建网站?详细步骤解析  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  TestNG的testng.xml配置文件怎么写  如何用PHP工具快速搭建高效网站?  公众号网站制作网页,微信公众号怎么制作?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  制作旅游网站html,怎样注册旅游网站?  ,巨量百应是干嘛的?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  香港服务器网站卡顿?如何解决网络延迟与负载问题?  简单实现Android文件上传  简历在线制作网站免费,免费下载个人简历的网站是哪些?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  如何在宝塔面板中创建新站点?  如何通过服务器快速搭建网站?完整步骤解析  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  西安专业网站制作公司有哪些,陕西省建行官方网站?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何高效生成建站之星成品网站源码?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  网站制作员失业,怎样查看自己网站的注册者?  电商网站制作公司有哪些,1688网是什么意思?  如何注册花生壳免费域名并搭建个人网站?  如何快速生成凡客建站的专业级图册?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  建站为何优先选择香港服务器?  动图在线制作网站有哪些,滑动动图图集怎么做?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  建站之星备案流程有哪些注意事项?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  建站之星logo尺寸如何设置最合适?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  开心动漫网站制作软件下载,十分开心动画为何停播?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  如何用5美元大硬盘VPS安全高效搭建个人网站?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  如何通过山东自助建站平台快速注册域名?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星3.0如何解决常见操作问题? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。