popupWindow设置后完美解决返回键响应无效的方案以及popupWindow背景透明方案

时间:2022-07-12 11:40:10
// 点击其他地方消失
viewPuwAddNew.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) { if (puwAddNew != null && puwAddNew.isShowing()) {
puwAddNew.dismiss();
puwAddNew = null;
}
return false;
} }); // 点击其他地方和返回键消失,数值参数为透明色
puwAddNew.setBackgroundDrawable(new PaintDrawable(0x00000000));
viewPuwAddNew是View实例过来的,puwAddNew是pupupWindow实例过来的结合这两个即可完美解决popupwindow打开时返回键无响应或者响应了点击其他地方无法消失。
PaintDrawable里面的参数是int类型的aRGB颜色值,为空背景则为主题色,0x00000000表面背景透明。
普通RGB转为0x格式的,建议的方法是在Chrome浏览器调试alpha值,颜色会变为rgba(0, 0, 0, 0.6)格式的颜色值复制之,
然后使用下面的转换工具, 会获得#99000000格式值,把#替换为0x,即0x99000000,酱紫PaintDrawable就可以接受不会报错了