首页 > 作文

解决Android popupWindow设置背景透明度无效的问题

更新时间:2023-04-04 03:29:37 阅读: 评论:0

有的时候当我们使用popwindow时将当前的activity当做view传给其他fragment使用时会导致我们设置背景变暗效果失效,导致这个原因的问题是因为我们传view后当弹出popupwindw的时候已经不再当前的activity了,所以会显示无效

因此在设置的时候我们这样处理:

 public void backgroundalpha(float bgalpha)  {//mapp.getinstance().getmainactivity()就是你想要点击时要显示的主activity    windowmanager.layoutparams lp = activityb.getinstance().getmainactivity().getwindow().getattributes();    lp.alpha = bgalpha; //0.0-1.0    activityb.getinstance().getmainactivity().getwindow().tattributes(lp);         activityb.getinstance().getmainactivity().getwindow().addflags(windowmanager.layoutparams.flag_dim_behind);  }

即activity a作为view在b中显示,那么a中的设置透明度时getwindow要从b取,也就是b.getwindow();

补充知识:android 的popupwindow的简单设置及空白区域颜色

我就废话不多说了,大家还是直接看代码吧~

//设置空白的背景色windowmanag团队名字高雅有内涵er.layoutparams lp = getactivity().getwindow().getattributes();lp.alpha = 0.3f;getactivity().getwindow().tattributes(lp);// 用于popupwindow的viewview contentview = layoutinflater.from(getcontext()).inflate(r.layout.quote_info_pop, null, fal);// 创建popupwindow对象,其中:// 第一个参数是用于popupwindow中的view,第二个参数是popupwindow的宽度,// 第三个参数是popupwindow的高度,第四个参数指定popupwindow能否获得焦点popupwindow window = new popupwindow(contentview, getscreenwith() / 3 * 2, (int) getscreenheight() / 3 * 2, true);// 设置popupwindow的背景window吴均体.tbackgrounddrawable(getresources().getdrawable(r.drawable.white_shap));// 设置popupwdsp应用indow是否能响应外部点击事件window.toutsidetouchable(true);// 设置popupwindow是否能响应点击事件window.ttouchable(true);// 显示popupwindow,其中:// 第一个参数是popupwin广州涉外经济学院dow的锚点,第二和第三个参数分别是popupwindow相对锚点的x、y偏移listview = contentview.findviewbyid(r.id.list);quoteinfoadapter = new quot暗淡无光的反义词einfoadapter(getactivity(), mlist);listview.tadapter(quoteinfoadapter);window.showasdropdown(v, getscreenwith() / 6, 0);// 或者也可以调用此方法显示popupwindow,其中:// 第一个参数是popupwindow的父view,第二个参数是popupwindow相对父view的位置,// 第三和第四个参数分别是popupwindow相对父view的x、y偏移// window.showatlocation(parent, gravity, x, y);//添加pop窗口关闭事件window.tondismisslistener(new popondismisslistener());还要加上监听,否则,pop消失时,透明度不会变回来class popondismisslistener implements popupwindow.ondismisslistener {  @override  public void ondismiss() {    // todo auto-generated method stub    //log.v("list_notetypeactivity:", "我是关闭事件");    windowmanager.layoutparams lp = getactivity().getwindow().getattributes();    lp.alpha = 1f; //0.0-1.0    getactivity().getwindow().tattributes(lp);  }}

以上这篇解决android popupwindow设置背景透明度无效的问题就是www.887551.com分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-04 03:29:35,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/a10da8895d27f21c1db29ac23ec55543.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:解决Android popupWindow设置背景透明度无效的问题.doc

本文 PDF 下载地址:解决Android popupWindow设置背景透明度无效的问题.pdf

标签:参数   第一个   透明度   事件
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图