zoukankan      html  css  js  c++  java
  • PopuWindow_2

    点击一个popupwindow窗口之外的区域popupwindow消失,带来的问题!!

    popupwindow窗口之外的区域popupwindow消失 , 以前说过需要设置:

    mPopupWindow.setFocusable(true); // 设置PopupWindow可获得焦点
        mPopupWindow.setTouchable(true); // 设置PopupWindow可触摸
        mPopupWindow.setOutsideTouchable(true); // 设置非PopupWindow区域可触摸
        mPopupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.chooseballbg));//
        // 这句话必须有,否则
        // // 按返回键
        // // popwindow不能消失 或者加入这句话
        // ColorDrawable dw = new ColorDrawable(-00000);
        // mPopupWindow.setBackgroundDrawable(dw);


    但是:  加入这些之后,我给Popwindow加了动画的,出现一个恶心的问题:就是popwindow在执行动画过程中,如果Popwindow上有button类似的控件,控件有背景色的变化,就会带来非常恶心的现象: 点击的控件的那一块竟然出现漏洞了,透明的一块,这就是

    mPopupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.chooseballbg));//

    带来的恶果!!  咋办呢?  我这样做的:这句话我不用了!!  用别的方法来实现popwindow的dismiss。

    用这种方法:就是利用popwindow内部的空间加入按键事件!!

    这样的:

    LinearLayout layouttemp = (LinearLayout) view
            .findViewById(R.id.linearlayout_blank);
        layouttemp.setFocusable(true);
        layouttemp.setFocusableInTouchMode(true);
        layouttemp.setOnKeyListener(new OnKeyListener() {
          public boolean onKey(View v, int keyCode, KeyEvent event) {
            // 手机键盘上的返回键
            switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:
              mPopupWindow.dismiss();
              break;
            }
            return false;
          }
        });


    即可!!

  • 相关阅读:
    springmvc 路由
    springMVC 流程
    SqlServer中Sql语句的逻辑执行顺序
    中小型公司静态资源管理部署方案
    浅谈SQL Server中的三种物理连接操作
    Zclip复制页面内容到剪贴板兼容各浏览器
    C#中如何利用操作符重载和转换操作符
    类型构造器(静态构造函数)的执行时机你知道多少?
    容器云技术选择之kubernetes和swarm对比
    kafka入门
  • 原文地址:https://www.cnblogs.com/awkflf11/p/4280766.html
Copyright © 2011-2022 走看看