Android中PopupWindow遮罩层的设置
在Android应用开发中,PopupWindow是很常见的,也是我们经常用到的,这里先来说说一下属性:
popupWindow.showAsDropDown(view,view.getWidth(),view.getHeight()); //相对某个控件,有偏移popupWindow.setBackgroundDrawable(getResources().getDrawable(R.color.white)); //设置背景popupWindow.setContentView(view);//设置popupWindow显示的viewpopupWindow.setFocusable(true); //设置是否获取焦点popupWindow.setAnimationStyle(int animationStyle); //设置加载动画popupWindow.setTouchable(true); //设置触摸使能popupWindow.dismiss(); //关闭弹窗
接下来,我们就去如何创建并使用它
1. 先自定义一个view,并获取布局(这里我就不展示布局代码了)
View popupView = getLayoutInflater().inflate(R.layout.gooddetail_selecte_detail,null);
2. 创建一个popupWindow对象
popupWindow = new PopupWindow(popupView, ViewGroup.LayoutParams.MATCH_PARENT,1800,true);(弹窗布局,宽,高,true表示点击空白处关闭弹窗)popupWindow.showAsDropDown(view,view.getWidth(),view.getHeight()); //相对某个控件,有偏移popupWindow.setBackgroundDrawable(getResources().getDrawable(R.color.white)); //设置背景
3.设置遮罩层
遮罩层就是当弹出Popwindow时Activity背景变灰的一种效果,这里自定义一个方法,通过传一个背景灰度比例值来实现背景颜色改变,代码如下:
private void setAlpha(float f) {WindowManager.LayoutParams lp =getWindow().getAttributes();lp.alpha = f;getWindow().setAttributes(lp);}
然后在初始化popwindow的时候调用,这里值为0-1.0,值越小就越不透明
setAlpha(0.2f);
到这里疑问就来啦,既然打开弹窗时要显示遮罩,那么在关闭时要如何还原呢,下面就有说明:
- 点击空白处关闭弹窗
//把背景还原popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {@Overridepublic void onDismiss() {setAlpha(1.0f);}});
- 点击右上角的关闭图标
case R.id.close_popupWindow:popupWindow.dismiss();setAlpha(1.0f); break;
这样就完成啦!
Android中PopupWindow遮罩层的设置相关推荐
- html遮罩实例,给原生html中添加水印遮罩层的实现示例
效果图 代码 水印遮罩 .watermark_mask { position: fixed; top: 10px; } .hello { width: 500px; height: 2048px; m ...
- android alarmmanager进程,Android中使用AlarmManager需注意设置进程属性
Android中使用AlarmManager需注意设置进程属性 在Android中,AlarmManager提供了不受休眠状态的系统定时功能,其一般使用方法如下. 1.创建一个BroadcastRec ...
- 卷积神经网络中各个卷积层的设置及输出大小计算的详细讲解
我将从以下几个方面来进行解说: 1.卷积神经网络的结构 2.卷积神经网络的计算 3.以AlexNet为例进行详细讲解 4.常见的两个卷积层设置的问题 1.卷积神经网络的结构 卷积神经网络(CNN)由输 ...
- android中华为、小米手机设置头像裁剪失败问题
近期写代码碰到华为.小米手机拍照.从相册获取图片设置头像失败的问题,在网上浏览一些相关博客后,终于解决了此问题,特在此记录,分享给大家,也算是自己的一个笔记了! 问题原因:裁剪时 return-dat ...
- android获取应用权限管理,如何在android中获取应用程序权限设置?
我正在开发一个小应用程序,它只列出那些连接到互联网的应用程序.如何从Packageinfo类中读取 android清单文件以编程方式访问每个应用程序的权限设置? private void getWeb ...
- 关于Android中Button的Backgroud背景设置默认为蓝紫色,且无法修改的问题
问题简述: 在修改Button的背景颜色时,始终无法修改颜色为设置的颜色,且颜色始终为默认的蓝紫色. <Buttonandroid:id="@+id/btn_1"androi ...
- 百度地图行政区划边界线获取,只要界线,遮罩层透明设置方法
主要是设置它的透明度,让之前的白色遮罩隐藏上.
- android drawable 点击事件,Android中EditText的drawableRight属性设置点击事件
这个方法是通用的,不仅仅适用于edittext,也适用于textview.autocompletetextview等控件. google官方api并没有给出一个直接的方法用来设置右边图片的点击事件,所 ...
- android 代码关闭叠加层,在Android中绘制叠加层(系统范围)
小编典典 可以通过创建一个Service在当前视图中添加视图的方法来做到这一点WindowManager: public class OverlayService extends Service { ...
最新文章
- 随机生成图像 与 图像的转维(reshape)
- 作者:周园春(1975-),男,博士,中国科学院计算机网络信息中心研究员、博士生导师...
- 使shell用结构化命令
- lua——赢三张牌型处理相关算法(上)——牌值数据
- 收藏 | 这所985的机器学习、深度学习公开课,附PDF课件下载
- 10-2-文章分页展示
- 学习笔记-小甲鱼Python3学习第二十三、二十四讲:函数:这帮小兔崽子、汉诺塔...
- Google 地球专业版离线下载
- 一文带你玩转 DataStore
- 20172328的结对编程四则运算第二周-整体总结
- css clac计算属性
- NLP 论文领读 | 缺少有标注的数据集怎么训练文本检索模型?来看看 LaPraDoR怎么做的吧
- linux 卸载 sdcc,Linux sdcc安装
- JAVA毕业设计广东省梅州市宇恒节能科技有限公司计算机源码+lw文档+系统+调试部署+数据库
- python如何回退_Pycharm技巧之代码跳转该如何回退
- 《Edge Boxes: Locating Object Proposals from Edges》读后感~
- 持续迭代、永久更新的WIN NFT HORSE,具有无穷无尽的生命力
- JVM性能监控及调优篇
- vivo换手机云服务器,vivo玩机指南:换新机数据不用烦,云服务一步搞定
- 中国服务机器人产业发展,需要解决哪些痛点?
热门文章
- Centos7.5 升级openssh到9.0p1
- Openssh更新升级7.9p1步骤
- 【excel】如何进行数据排序
- Revit标注墙偏移如何简便标注呢?万能标注?
- (二)SDRAM——SDRAM操作时序
- php 字符串转 buffer,ArrayBuffer与字符串的互相转换
- 微机原理--8088/8086微处理器详解
- 一文学明白数据库系统--数据库系统期末复习--从入门到入考场--考前抄ppt系列
- 微信公众账号高级接口使用小结
- unigine 三维旋转矩阵(mat3,quat) scale translate 变换矩阵(mat4) 和forward up right 关系 normal binormal tangent