[发明专利]弹出窗口的设置方法及装置、电子设备、存储介质有效
申请号: | 202010033211.0 | 申请日: | 2020-01-13 |
公开(公告)号: | CN111240678B | 公开(公告)日: | 2023-05-05 |
发明(设计)人: | 冯伟超 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F8/36 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 弹出 窗口 设置 方法 装置 电子设备 存储 介质 | ||
本发明实施例提供了弹出窗口的设置方法及装置、电子设备、存储介质,方法包括:创建弹出窗口模板;采用弹出窗口模板反射调用窗口管理器,生成窗口管理器对应的代理窗口管理器;响应于向窗口管理器发送的添加控件指令,代理窗口管理器生成与目标控件对应的代理控件;将目标控件添加到代理控件中,生成目标代理控件;目标代理控件为目标控件的父控件;调用窗口管理器将目标代理控件添加至弹出窗口模板以生成弹出窗口;显示弹出窗口。本发明实施例可以实现解决开发人员优先级比系统低,无法获取触摸事件的问题,避免因版本差异导致的不稳定性,弹出窗口在进行首次显示时能正常在开发人员预设的位置显示。
技术领域
本发明涉及计算机领域,特别是涉及一种弹出窗口的设置方法及装置、电子设备、存储介质。
背景技术
在安卓(Android)日常开发中,我们往往会使用各种弹窗,而弹出窗口(PopupWindow)则属于其中一种。其自定义轻松,定位简单,但却也存在着系统原生的弹出窗口创建复杂,每次创建都需要写许多重复性的模板方法、开发人员优先级比系统优先级低,触摸事件传递默认消费处理,无法传递给外部,无法获取触摸事件、系统版本差异大导致不稳定性较高、在对弹出窗口进行首次显示的时候无法显示在开发人员预设的位置、无法对背景进行模糊处理等各种缺点,导致开发人员不愿采用弹出窗口进行开发。
发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种弹出窗口的设置方法及装置、电子设备、存储介质,包括:
为了解决上述问题,本发明实施例公开了一种弹出窗口的设置方法,所述方法包括:
创建弹出窗口模板;
采用所述弹出窗口模板反射调用窗口管理器,生成所述窗口管理器对应的代理窗口管理器;
响应于向所述窗口管理器发送的添加控件指令,所述代理窗口管理器生成与目标控件对应的代理控件;
将所述目标控件添加到代理控件中,生成目标代理控件;所述目标代理控件为所述目标控件的父控件;
调用所述窗口管理器将所述目标代理控件添加至所述弹出窗口模板以生成弹出窗口;
显示所述弹出窗口。
优选地,所述创建弹出窗口模板的步骤,包括:
继承预置的弹出窗口模板参数;
基于所述弹出窗口模板参数创建弹出窗口模板。
优选地,所述基于所述弹出窗口模板参数创建弹出窗口模板的步骤之后,还包括:
接收用户返回的身份标识;
采用布局服务对所述身份标识进行解析,获取目标控件;
对所述目标控件进行测量并保存测量得到的参数。
优选地,所述响应于向所述窗口管理器发送的添加控件指令,所述代理窗口管理器生成与目标控件对应的代理控件的步骤之前,还包括:
将所述窗口管理器保存为所述代理窗口管理器的变量;
检测所述代理窗口管理器的变量是否为空;
若所述变量不为空,则执行所述响应于向所述窗口管理器发送的添加控件指令,所述代理窗口管理器生成与目标控件对应的代理控件的步骤。
优选地,所述方法还包括:
若所述变量为空,则重新创建所述弹出窗口模板与所述窗口管理器之间的反射;
重新创建失败时,输出记录日志。
优选地,所述显示所述弹出窗口的步骤,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010033211.0/2.html,转载请声明来源钻瓜专利网。