博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android PopupWindow 弹窗背景半透明,设置最大高度
阅读量:5074 次
发布时间:2019-06-12

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

首先讲一个网上的方法:

popupwindow弹出后,屏幕背景变成半透明这个效果很普通。实现的方法也很多。我使用的可能是最简单的一种,就是设置一下getWindows的透明度。

/**         * 设置添加屏幕的背景透明度  1,:全透明;0.5:半透明  0~1,取自己想到的透明度         * @param bgAlpha         */        public void backgroundAlpha(float bgAlpha)        {            WindowManager.LayoutParams lp = activity.getWindow().getAttributes();            lp.alpha = bgAlpha; //0.0-1.0            activity.getWindow().setAttributes(lp);        }

1. PopupWindow 弹出时设置:

backgroundAlpha(0.5f);
2.PopupWindow 消失时,变成全透明,这里可以监听PopupWindow 消失

mPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {    @Override    public void onDismiss() {       backgroundAlpha(1f);    }});

完成,现在的问题是,后来发现,有个人手机,会闪屏,并且有的手机不能正常显示背景半透明;

方法二:

 让Popupwindow 全屏,显示区在下方,其它区域半透明

如图:

注意:在点击 背景的地方做 一个View,如果被点击,popupwindow消失 ;

另外设置最大高度,见demo

转载于:https://www.cnblogs.com/sharecenter/p/5620986.html

你可能感兴趣的文章
一步步学习微软InfoPath2010和SP2010--第七章节--从SP列表和业务数据连接接收数据(4)--外部项目选取器和业务数据连接...
查看>>
oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
查看>>
基于grunt构建的前端集成开发环境
查看>>
利用循环播放dataurl的视频来防止锁屏:NoSleep.js
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
Abstract Factory Pattern
查看>>
list 容器 排序函数.xml
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
django Models 常用的字段和参数
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>