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;
          }
        });


    即可!!

  • 相关阅读:
    js&jquery避免报错的方法
    if-else用法
    js-form表单元素的自定义属性
    a标签
    jQuery知识集锦
    JDK动态代理
    hibernate之多对一单向关联
    STL算法设计理念
    计算机常识--win7 删除文件、拒绝訪问等等,所有提示权限不够 解决的方法
    大话设计模式C++实现-第8章-工厂方法模式
  • 原文地址:https://www.cnblogs.com/awkflf11/p/4280766.html
Copyright © 2011-2022 走看看