一种页面适配方法和装置制造方法及图纸

技术编号:29399759 阅读:24 留言:0更新日期:2021-07-23 22:36
本发明专利技术公开了一种页面适配方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:解析当前打开的页面的布局文件,在解析过程中将布局文件的原始控件替换为新控件,使用新控件构建控件集合;其中,新控件中重写了原始控件的目标方法;当监听到主题模式的切换事件时,将切换事件分发到控件集合中的新控件;执行新控件中重写的目标方法,以确定切换事件指示的主题模式为目标模式,获取目标模式对应的主题资源,使用主题资源渲染页面。该方法在解析布局文件过程中,将原始控件替换为自定义的新控件,并在新控件中重写目标方法,进而在监听到切换事件时,执行新控件中重写的目标方法,实现了无侵入式的页面适配,不影响原代码,节约适配成本。

【技术实现步骤摘要】
一种页面适配方法和装置
本专利技术涉及计算机
,尤其涉及一种页面适配方法和装置。
技术介绍
目前,终端设备的操作系统,比如iOS操作系统、安卓操作系统,增加了暗黑主题(DarkTheme)。在使用暗黑主题后,各个应用程序(Application,APP)也需要与暗黑主题进行适配。其中,暗黑主题是指在用户界面(UserInterface,UI)中使用大面积的深色来构成界面的一种设计,它是产品默认主题的一种补充。现有的暗黑主题适配方式主要有三种,第一种是使用系统自动的适配方案;第二种需要在APP内置默认资源和暗黑资源,并根据主题模式获取不同资源;第三种是在开发过程中,设置图片或者颜色之前,先做主题模式判断,再手动获取对应的图片或者颜色设置进行展示。在实现本专利技术过程中,现有技术中至少存在如下问题:依赖于系统版本,不能适配所有机型和系统;需要内置两套主题资源,APP更新时需跟随发版;所有需要适配的位置均需要修改原代码,耗费人力和成本,且修改原代码容易引发其他问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种页面适配方法和装置,该方法在解析布局文件过程中,将原始控件替换为自定义的新控件,并在新控件中重写目标方法,进而在监听到切换事件时,执行新控件中重写的目标方法,实现了无侵入式的页面适配,不影响原代码,节约适配成本。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种页面适配方法。本专利技术实施例的一种页面适配方法,包括:解析当前打开的页面的布局文件,在解析过程中将所述布局文件的原始控件替换为新控件,使用所述新控件构建控件集合;其中,所述新控件中重写了所述原始控件的目标方法;当监听到主题模式的切换事件时,将所述切换事件分发到所述控件集合中的新控件;执行所述新控件中重写的目标方法,以确定所述切换事件指示的主题模式为目标模式,获取所述目标模式对应的主题资源,使用所述主题资源渲染页面。可选地,所述将所述布局文件的原始控件替换为新控件,包括:确定所述布局文件中原始控件的控件名称,将所述控件名称替换为对应新控件的控件名称;在所述新控件中重写所述原始控件的目标方法;其中,所述目标方法用于设置背景色、文本颜色或者图片。可选地,所述在所述新控件中重写所述原始控件的目标方法,包括:如果所述原始控件为布局控件或者视图控件,则在所述新控件中重写所述原始控件中用于设置背景色的方法;如果所述原始控件为文本框控件,则在所述新控件中重写所述原始控件中用于设置文字颜色的方法;如果所述原始控件为图像视图控件,则在所述新控件中重写所述原始控件中用于设置图片的方法。可选地,所述重写所述原始控件中用于设置背景色的方法,包括:确定所述切换事件指示的主题模式为所述目标模式,根据为所述原始控件设置的当前背景色,查找设定的色值库,得到对应的目标背景色;将所述原始控件的背景色设置为所述目标背景色。可选地,所述重写所述原始控件中用于设置文字颜色的方法,包括:确定所述切换事件指示的主题模式为所述目标模式,根据为所述原始控件设置的当前文本颜色,查找设定的色值库,得到对应的目标文本颜色;将所述原始控件的文本颜色设置为所述目标文本颜色。可选地,所述重写所述原始控件中用于设置图片的方法,包括:确定所述切换事件指示的主题模式为所述目标模式,根据为所述原始控件设置的当前图片,查找设定的图片库;判断是否从所述图片库中查找到对应的目标图片,如果查找到所述目标图片,则将所述原始控件的图片设置为所述目标图片;如果未查找到所述目标图片,则调整所述当前图片的图片亮度,将所述原始控件的图片设置为调整亮度后所得的图片。可选地,所述方法还包括:发送资源文件请求至服务端,以使所述服务端根据所述资源文件请求中携带的资源文件标识和资源文件版本,确定对应资源文件的更新情况,生成资源更新信息;其中,所述资源文件包括所述目标模式对应的主题资源;接收来自于所述服务端的资源更新信息,确定所述资源文件存在更新,下载更新后的资源文件。可选地,所述解析当前打开的页面的布局文件,包括:在当前打开的页面的布局文件中查找根节点,根据所述根节点,创建对应的根布局控件;其中,所述根布局控件中设置有用于修改亮度和颜色的控制开关;遍历所述根布局控件下的子元素,将所述子元素对应的子控件添加到所述根布局控件;所述确定所述切换事件指示的主题模式为目标模式的步骤之后,所述方法还包括:确定所述新控件对应的控制开关指示修改亮度,调整所述新控件中对象的亮度;所述获取所述目标模式对应的主题资源,包括:确定所述新控件对应的控制开关指示修改颜色,则获取所述目标模式对应的主题资源。为实现上述目的,根据本专利技术实施例的另一方面,提供了一种页面适配装置。本专利技术实施例的一种页面适配装置,包括:解析模块,用于解析当前打开的页面的布局文件,在解析过程中将所述布局文件的原始控件替换为新控件,使用所述新控件构建控件集合;其中,所述新控件中重写了所述原始控件的目标方法;分发模块,用于当监听到主题模式的切换事件时,将所述切换事件分发到所述控件集合中的新控件;适配模块,用于执行所述新控件中重写的目标方法,以确定所述切换事件指示的主题模式为目标模式,获取所述目标模式对应的主题资源,使用所述主题资源渲染页面。可选地,所述解析模块,还用于确定所述布局文件中原始控件的控件名称,将所述控件名称替换为对应新控件的控件名称;在所述新控件中重写所述原始控件的目标方法;其中,所述目标方法用于设置背景色、文本颜色或者图片。可选地,所述解析模块,还用于如果所述原始控件为布局控件或者视图控件,则在所述新控件中重写所述原始控件中用于设置背景色的方法;如果所述原始控件为文本框控件,则在所述新控件中重写所述原始控件中用于设置文字颜色的方法;如果所述原始控件为图像视图控件,则在所述新控件中重写所述原始控件中用于设置图片的方法。可选地,所述解析模块,还用于确定所述切换事件指示的主题模式为所述目标模式,根据为所述原始控件设置的当前背景色,查找设定的色值库,得到对应的目标背景色;将所述原始控件的背景色设置为所述目标背景色。可选地,所述解析模块,还用于确定所述切换事件指示的主题模式为所述目标模式,根据为所述原始控件设置的当前文本颜色,查找设定的色值库,得到对应的目标文本颜色;将所述原始控件的文本颜色设置为所述目标文本颜色。可选地,所述解析模块,还用于确定所述切换事件指示的主题模式为所述目标模式,根据为所述原始控件设置的当前图片,查找设定的图片库;判断是否从所述图片库中查找到对应的目标图片,如果查找到所述目标图片,则将所述原始控件的图片设置为所述目标图片;如果未查找到所述目标图片,则调整所述当前图片的图片亮度,将所述原始控件的图片设置为调整亮度后所得的图片。可选地,所述装置还包括:更新模块,用于发送资源文件请求至服务端,以使所述服务端根据所述资源文件请求中携带的资源文件标识和资源文件版本,确定对应资源文件的更新情况,生成资源更新信息;其中,所述资源文件包括所述目标模式对应的主题资源本文档来自技高网...

【技术保护点】
1.一种页面适配方法,其特征在于,包括:/n解析当前打开的页面的布局文件,在解析过程中将所述布局文件的原始控件替换为新控件,使用所述新控件构建控件集合;其中,所述新控件中重写了所述原始控件的目标方法;/n当监听到主题模式的切换事件时,将所述切换事件分发到所述控件集合中的新控件;/n执行所述新控件中重写的目标方法,以确定所述切换事件指示的主题模式为目标模式,获取所述目标模式对应的主题资源,使用所述主题资源渲染页面。/n

【技术特征摘要】
1.一种页面适配方法,其特征在于,包括:
解析当前打开的页面的布局文件,在解析过程中将所述布局文件的原始控件替换为新控件,使用所述新控件构建控件集合;其中,所述新控件中重写了所述原始控件的目标方法;
当监听到主题模式的切换事件时,将所述切换事件分发到所述控件集合中的新控件;
执行所述新控件中重写的目标方法,以确定所述切换事件指示的主题模式为目标模式,获取所述目标模式对应的主题资源,使用所述主题资源渲染页面。


2.根据权利要求1所述的方法,其特征在于,所述将所述布局文件的原始控件替换为新控件,包括:
确定所述布局文件中原始控件的控件名称,将所述控件名称替换为对应新控件的控件名称;
在所述新控件中重写所述原始控件的目标方法;其中,所述目标方法用于设置背景色、文本颜色或者图片。


3.根据权利要求2所述的方法,其特征在于,所述在所述新控件中重写所述原始控件的目标方法,包括:
如果所述原始控件为布局控件或者视图控件,则在所述新控件中重写所述原始控件中用于设置背景色的方法;
如果所述原始控件为文本框控件,则在所述新控件中重写所述原始控件中用于设置文字颜色的方法;
如果所述原始控件为图像视图控件,则在所述新控件中重写所述原始控件中用于设置图片的方法。


4.根据权利要求3所述的方法,其特征在于,所述重写所述原始控件中用于设置背景色的方法,包括:
确定所述切换事件指示的主题模式为所述目标模式,根据为所述原始控件设置的当前背景色,查找设定的色值库,得到对应的目标背景色;
将所述原始控件的背景色设置为所述目标背景色。


5.根据权利要求3所述的方法,其特征在于,所述重写所述原始控件中用于设置文字颜色的方法,包括:
确定所述切换事件指示的主题模式为所述目标模式,根据为所述原始控件设置的当前文本颜色,查找设定的色值库,得到对应的目标文本颜色;
将所述原始控件的文本颜色设置为所述目标文本颜色。


6.根据权利要求3所述的方法,其特征在于,所述重写所述原始控件中用于设置图片的方法,包括:
确定所述切换事件指示的主题模式为所述目标模式,根据为所述原始控件设置的当前图片,查找设定的图片库;
判断是否从所述图片库中查找到对应的目标图片,如果查找到所述目标...

【专利技术属性】
技术研发人员:崔海洋
申请(专利权)人:北京京东拓先科技有限公司
类型:发明
国别省市:北京;11

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

1