点击一个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;
}
});

即可!!

PopuWindow_2的更多相关文章

随机推荐

  1. .c和.h文件的区别(转载)

    一个简单的问题:.c和.h文件的区别学了几个月的C语言,反而觉得越来越不懂了.同样是子程序,可以定义在.c文件中,也可以定义在.h文件中,那这两个文件到底在用法上有什么区别呢? 2楼:子程序不要定义在 ...

  2. (转)一文学会用 Tensorflow 搭建神经网络

    一文学会用 Tensorflow 搭建神经网络 本文转自:http://www.jianshu.com/p/e112012a4b2d 字数2259 阅读3168 评论8 喜欢11 cs224d-Day ...

  3. AssetStore资源名字

    NGUI A Pathfinding Project Pro PlayMaker 2DToolkit Scene Manager UniLOD UniLUA Save Game-JSON+Binary ...

  4. 关于margin和padding的总结

    总结一下: 要想实现如(图一)效果,(即一个div中的子元素与父元素有间距): 如果类名为.middle的父元素没有写border,则类名为firstChild的子元素设置margin-top,会导致 ...

  5. UIview 学习与自定义--ios

    UIView *view1=[[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)]; view1.backgroundColor=[UI ...

  6. C#中 ()=>的含义

    这是 .NET3.0以后的新特性 Lambda表达式 RelayCommand(() => this.AddPerson(), () => this.CanAddPerson()); 的意 ...

  7. 模仿ViewPager控件

    自定义控件是开发中经常使用的技术.系统中自带的ViewPager实现的功能有时候不能满足开发的需要,如ViewPager没有滑动图片时的动画切换效果.通过对 ViewPager的模仿和部分功能的加强, ...

  8. MARKDOWN--介绍http://www.jianshu.com/p/q81RER

    简       注册登录 添加关注 作者 简书2013.04.22 22:02* 写了267022字,被8398人关注,获得了9900个喜欢 献给写作者的 Markdown 新手指南 字数1600 阅 ...

  9. Python中的repr()函数

    Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数. 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式. 在python的官方AP ...

  10. javascript对时间的校验操作

    function check() { var startTime=$("#sTime").val(); var endTime=$("#eTime").val( ...