一种蒙层布局设置方法及系统技术方案

技术编号:15033635 阅读:93 留言:0更新日期:2017-04-05 09:29
本发明专利技术公开了一种蒙层布局设置方法,涉及计算机界面技术领域,包括在页面中获取PhoneWindow的对象;在PhoneWindow的对象中获取适配层布局的对象;在适配层布局的对象中使用addview函数添加蒙层布局的对象。本发明专利技术在PhoneWindow的对象中的适配层布局的对象中使用addview函数添加蒙层布局的对象,蒙层布局可适用于各种类型的页面布局。本发明专利技术还公开了一种蒙层布局设置系统。

【技术实现步骤摘要】

本专利技术涉及计算机界面
,具体涉及一种蒙层布局设置方法及系统
技术介绍
在android系统中初次打开某个应用时,应用在某些界面上会弹出蒙层,用来引导或指示用户一些应用当中关键操作,或者一些比较隐藏的用户交互逻辑,比如指示用户一些长按按钮的操作,或者一些复杂的手势操作。然而各个应用当中有多个页面,需要展示蒙层的页面也有多个,但是由于每个页面的布局不同,所以在设置蒙层时,都是针对每个不同的页面定制不同的蒙层,并且在该页面布局中添加对应的蒙层布局。其缺陷是,扩展性很差,在因为产品的需要对页面进行改动时,该页面的蒙层必须一起进行改动,而且对应的蒙层布局也要改动。当一个应用的蒙层较多时,改变全部对应的蒙层布局工作量相当大,耗费大量的人力与时间。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种蒙层布局设置方法及系统,可便捷的添加通用于各种页面布局的蒙层布局。为达到以上目的,本专利技术采取的技术方案是:一种蒙层布局设置方法,其特征在于:在页面中获取PhoneWindow的对象;在PhoneWindow的对象中获取适配层布局的对象;在适配层布局的对象中使用addview函数添加蒙层布局的对象。在上述技术方案的基础上,通过所述适配层布局的对象对应的id获取适配层布局的对象。在上述技术方案的基础上,在页面中添加蒙层布局的对象后,在蒙层布局的对象中为一个待提醒控件添加效果控件。在上述技术方案的基础上,在蒙层布局的对象中为一个待提醒控件添加效果控件的过程包括:在蒙层布局的对象中创建其布局参数的对象;获取所述效果控件在屏幕中的坐标;将效果控件的在屏幕中的坐标传入所述布局参数的对象;在蒙层布局的对象中使用addview函数添加效果控件的对象和布局参数的对象。在上述技术方案的基础上,所述效果控件在屏幕中的坐标包括横坐标和纵坐标,获取所述效果控件在屏幕中的坐标的过程包括:在PhoneWindow的对象中通过所述待提醒控件的id获取所述待提醒控件的对象;在所述待提醒控件的对象中获取所述待提醒控件在屏幕中的横坐标和纵坐标,然后获得所述待提醒控件的宽度和高度,计算出所述待提醒控件中心的横坐标和纵坐标;在效果控件的对象中获得所述效果控件在屏幕中的宽度和高度,根据所述待提醒控件的中心坐标和所述效果控件在屏幕中的宽度和高度计算出所述效果控件的横坐标和纵坐标。在上述技术方案的基础上,所述待提醒控件中心的横坐标等于所述待提醒控件的横坐标加上二分之一的所述待提醒控件的宽度;所述待提醒控件中心的纵坐标等于所述待提醒控件的纵坐标加上二分之一的所述待提醒控件的高度。在上述技术方案的基础上,所述效果控件的横坐标等于所述待提醒控件的中心的横坐标减去二分之一的所述效果控件的宽度;所述效果控件的纵坐标等于所述待提醒控件的中心的纵坐标减去二分之一的所述效果控件的高度。在上述技术方案的基础上,一个待提醒控件可添加多个效果控件。本专利技术还公开了一种蒙层布局设置系统,包括:蒙层布局添加模块,用于在页面中获取PhoneWindow的对象;在PhoneWindow的对象中获取适配层布局的对象;在适配层布局的对象中使用addview函数添加蒙层布局的对象;效果控件添加模块,用于在蒙层布局的对象中创建其布局参数的对象;获取所述效果控件在屏幕中的坐标;将效果控件的坐标传入所述布局参数的对象;在蒙层布局的对象中使用addview函数添加效果控件的对象和布局参数的对象。在上述技术方案的基础上,一个待提醒控件可添加多个效果控件。与现有技术相比,本专利技术的优点在于:(1)本专利技术在PhoneWindow的对象中获取适配层布局的对象;在适配层布局的对象中使用addview函数添加蒙层布局的对象,由于android应用中每个页面都是通过PhoneWindow的对象进行显示的,因此在PhoneWindow的对象中的适配层布局的对象中使用addview函数添加蒙层布局的对象,蒙层布局可适用于各种类型的页面布局。(2)当蒙层中的一个待提醒控件设有效果控件时,在蒙层布局的对象中创建其布局参数的对象;将效果控件的坐标传入布局参数的对象;在蒙层布局的对象中使用addview函数添加效果控件的对象和布局参数的对象。当待提醒控件的位置发生变化时,其效果控件的坐标也会随之自动变化,无须通过更改效果控件的位置逻辑来实现。即使更换了待提醒的控件,仍无须更改效果控件的位置逻辑,只需要将待提醒的控件的id更换成新的待提醒的控件对应的ID即可。附图说明图1为本专利技术实施例中蒙层布局设置方法的流程示意图;图2为本专利技术实施例中蒙层布局设置方法中在蒙层布局的对象中为一个待提醒控件添加效果控件的流程示意图;图3为本专利技术实施例中蒙层布局设置系统的结构示意图。具体实施方式以下结合附图及实施例对本专利技术作进一步详细说明。参见图1所示,本专利技术实施例提供一种蒙层布局设置方法,包括以下步骤:S101,在页面中使用getWindow()函数来获取PhoneWindow的对象;S102,在PhoneWindow的对象中使用findViewById函数获取适配层布局的对象;S103,在适配层布局的对象中使用addview函数添加蒙层布局的对象。WindowManager是Android中一个重要的服务。整个Android系统的窗口机制就是基于WindowManager服务。WindowManager服务将用户的操作翻译成指令,发送呈现在界面上的各个窗口。PhoneWindow是对WindowManager服务的一种封装,在android应用中每个页面都是通过其PhoneWindow对象进行显示的。也就是说,每个页面的布局其实最终就是加载到windowmanager服务中进行展示,而windowmanager服务需要添加一个根视图进行展示,而页面的布局需要通过适配层加载在根视图中。所以如果能将蒙层加入到适配层中,只需要适配适配层的布局就能使得蒙层布局可适用于各种类型的页面布局。findViewById函数通过适配层布局的对象对应的id获取适配层布局的对象。id定义为一个静态常量Window.ID_ANDROID_CONTENT。参见图2所示,在页面中添加蒙层布局的对象后,在蒙层布局的对象中为一个待提醒控件添加效果控件。其过程包括:S201,在蒙层布局的对象中创建其布局参数的对象;S202,获取效果控件在屏幕中的坐标;S203,通过leftMargin函数和topMargin函数将效果控件的坐标传入布局参数的对象;S204,在蒙层布局的对象中使用addview函数添加效果控件的对象和布局参数的对象。当蒙层中的一个待提醒控件设有效果控件时,在蒙层布局的对象中创建其布局参数的对象;将效果控件的坐标传入布局参数的对象;在蒙层布局的对象中使用addview函数添加效果控件的对象和布局参数的对象。当待提醒控件的位置发生变化时,其效果控件的坐标也会随之自动变化,无须通过更改效果控件的位置逻辑来实现。即使更换了待提醒的控件,仍无须更改效果控件的位置逻辑,只需要将待提醒的控件的id更换成新的待提醒的控件对应的ID即可。效果控件在屏幕中的坐标包括横坐标和纵坐标,获取效果控件在屏幕中的坐标的过程包括:(1)在PhoneWindow的对象中使用fi本文档来自技高网...

【技术保护点】
一种蒙层布局设置方法,其特征在于:在页面中获取PhoneWindow的对象;在PhoneWindow的对象中获取适配层布局的对象;在适配层布局的对象中使用addview函数添加蒙层布局的对象。

【技术特征摘要】
1.一种蒙层布局设置方法,其特征在于:在页面中获取PhoneWindow的对象;在PhoneWindow的对象中获取适配层布局的对象;在适配层布局的对象中使用addview函数添加蒙层布局的对象。2.如权利要求1所述的一种蒙层布局设置方法,其特征在于:通过所述适配层布局的对象对应的id获取适配层布局的对象。3.如权利要求1所述的一种蒙层布局设置方法,其特征在于:在页面中添加蒙层布局的对象后,在蒙层布局的对象中为一个待提醒控件添加效果控件。4.如权利要求3所述的一种蒙层布局设置方法,其特征在于:在蒙层布局的对象中为一个待提醒控件添加效果控件的过程包括:在蒙层布局的对象中创建其布局参数的对象;获取所述效果控件在屏幕中的坐标;将效果控件的在屏幕中的坐标传入所述布局参数的对象;在蒙层布局的对象中使用addview函数添加效果控件的对象和布局参数的对象。5.如权利要求4所述的一种蒙层布局设置方法,其特征在于:所述效果控件在屏幕中的坐标包括横坐标和纵坐标,获取所述效果控件在屏幕中的坐标的过程包括:在PhoneWindow的对象中通过所述待提醒控件的id获取所述待提醒控件的对象;在所述待提醒控件的对象中获取所述待提醒控件在屏幕中的横坐标和纵坐标,然后获得所述待提醒控件的宽度和高度,计算出所述待提醒控件中心的横坐标和纵坐标;在效果控件的对象中获得所述效果控件在屏幕中的宽度和高...

【专利技术属性】
技术研发人员:刘一琛
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1