点击一个popupwindow窗口之外的区域popupwindow消失,带来的问题!!
发布日期:2021-10-17 15:07:10 浏览次数:2 分类:技术文章

本文共 1196 字,大约阅读时间需要 3 分钟。

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://blog.csdn.net/tenggangren/article/details/8703193 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android中AsyncTask的简单用法
下一篇:实现Button按钮上放置icon或者其他的小图标!!怎么居中显示!!

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年03月26日 05时20分47秒