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


即可!!

转载于:https://www.cnblogs.com/awkflf11/p/4280766.html

你可能感兴趣的:(PopuWindow_2)