一种蒙层布局设置方法及系统与流程

文档序号:19589324发布日期:2020-01-03 10:03阅读:673来源:国知局
一种蒙层布局设置方法及系统与流程

本发明涉及计算机界面技术领域,具体涉及一种蒙层布局设置方法及系统。



背景技术:

在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的对象中使用findviewbyid函数通过待提醒控件的id获取待提醒控件的对象;

(2)在待提醒控件的对象中使用getlocationonscreen函数获取待提醒控件在屏幕中的横坐标和纵坐标,然后通过getwidth函数和getheight函数获得待提醒控件的宽度和高度,计算出待提醒控件中心的横坐标和纵坐标;待提醒控件中心的横坐标等于待提醒控件的横坐标加上二分之一的待提醒控件的宽度;待提醒控件中心的纵坐标等于待提醒控件的纵坐标加上二分之一的待提醒控件的高度。

(3)在效果控件的对象中使用getwidth函数和getheight函数获得效果控件在屏幕中的宽度和高度,根据待提醒控件的中心坐标和效果控件在屏幕中的宽度和高度计算出效果控件的横坐标和纵坐标。

效果控件的横坐标等于待提醒控件的中心的横坐标减去二分之一的效果控件的宽度;效果控件的纵坐标等于待提醒控件的中心的纵坐标减去二分之一的效果控件的高度。一个待提醒控件可添加多个效果控件。

参见图3所示,本发明还公开了一种蒙层布局设置系统,包括:

蒙层布局添加模块,用于在页面中使用getwindow()函数来获取phonewindow的对象;在phonewindow的对象中使用findviewbyid函数获取适配层布局的对象;在适配层布局的对象中使用addview函数添加蒙层布局的对象。

效果控件添加模块,用于在蒙层布局的对象中创建其布局参数的对象;获取效果控件在屏幕中的坐标;通过leftmargin函数和topmargin函数将效果控件的坐标传入布局参数的对象;在蒙层布局的对象中使用addview函数添加效果控件的对象和布局参数的对象。一个待提醒控件可添加多个效果控件。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1