状态栏沉浸式效果的配置方法、装置、介质和计算机设备制造方法及图纸

技术编号:19691234 阅读:26 留言:0更新日期:2018-12-08 11:01
本发明专利技术提供了一种状态栏沉浸式效果的配置方法、装置、计算机存储介质和计算机设备。该方法包括步骤:接收Activity的创建指令,响应于所述创建指令创建Activity;通过反射机制获取用于配置状态栏沉浸式效果的沉浸式处理代码;根据所述沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果。本发明专利技术实施例通过反射机制获取沉浸式处理代码,无需使用方实现任何接口,就能使应用程序的页面在显示时呈现状态栏沉浸式效果。

【技术实现步骤摘要】
状态栏沉浸式效果的配置方法、装置、介质和计算机设备
本专利技术涉及安卓领域,具体而言,本专利技术涉及一种状态栏沉浸式效果的配置方法、装置、计算机存储介质和计算机设备。
技术介绍
安卓操作系统默认的状态栏的背景颜色是黑色,在安卓操作系统4.4版本之前,安卓操作系统不支持对状态栏进行设置,因此所有应用的状态栏的背景颜色都是默认的黑色,而一块黑色的状态栏和应用非常不搭调。为了提供更好的显示效果,谷歌公司在安卓操作系统4.4版本开始为应用开发者提供了设置沉浸式状态栏的方法。然而谷歌公司(Google)在安卓操作系统4.4版本之后推出的更高级别版本中对设置沉浸式状态栏的方法进行了一些修改,使得在不同的系统版本中为状态栏设置沉浸式效果需要使用不同的方法,这增加了实现状态栏沉浸式效果的复杂度。因此,如何方便地为状态栏配置沉浸式效果成了亟需解决的问题。
技术实现思路
本专利技术针对现有技术的缺点,提供了一种状态栏沉浸式效果的配置方法、装置、计算机存储介质和计算机设备,本专利技术实施例的状态栏沉浸式效果的配置方法,通过反射机制获取沉浸式处理代码,无需使用方实现任何接口,就能方便地实现状态栏沉浸式效果。本专利技术实施例根据第一方面提供的一种状态栏沉浸式效果的配置方法,包括以下步骤:接收Activity的创建指令,响应于所述创建指令创建Activity;通过反射机制获取用于配置状态栏沉浸式效果的沉浸式处理代码;根据所述沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果。进一步地,所述通过反射机制获取用于配置状态栏沉浸式效果的沉浸式处理代码,之前包括:接收代理类创建指令;响应于所述代理类创建指令,依据Activity类创建用于代理Activity生命周期的Instrumentation代理类;接收方法重写指令,所述方法重写指令中包括所述用于配置状态栏沉浸式效果的沉浸式处理代码;响应于所述方法重写指令,根据所述沉浸式处理代码重写所述Instrumentation代理类的CallActivityOnCreate成员方法。进一步地,所述通过反射机制获取用于配置状态栏沉浸式效果的沉浸式处理代码;根据所述沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果,包括:通过反射机制获取所述Instrumentation代理类的CallActivityOnCreate成员方法;执行所述CallActivityOnCreate成员方法中的沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果。进一步地,所述根据所述沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果,包括:获取当前系统的系统信息;根据所述系统信息确定对所述创建的Activity的处理逻辑;执行所述处理逻辑为所述创建的Activity配置状态栏沉浸式效果。进一步地,所述执行所述处理逻辑为所述创建的Activity配置状态栏沉浸式效果,包括:获取与所述系统信息对应的沉浸式参数;为所述创建的Activity配置所述沉浸式参数,以实现状态栏沉浸式效果。进一步地,所述获取与所述系统信息对应的沉浸式参数,包括:利用反射机制获取预先设置在Activity类上的注解内容;从所述注解内容中确定与所述系统信息对应的沉浸式参数。进一步地,所述系统信息包括API级别信息;所述根据所述系统信息确定对所述创建的Activity的处理逻辑,包括:若所述API级别处于第一阈值区间内,则对所述创建的Activity的状态栏进行第一类透明化处理;若所述API级别处于第二阈值区间内,则对所述创建的Activity的状态栏进行第二类透明化处理。进一步地,所述系统信息还包括用于确定当前系统类型的厂商信息;所述根据所述系统信息确定对所述创建的Activity的处理逻辑,包括:根据所述厂商信息确定当前系统的系统类型;若所述API级别处于第三阈值区间内,则对所述创建的Activity的状态栏进行第二类透明化处理,以及对所述创建的Activity的状态栏进行与所述系统类型对应的图标颜色调整处理。进一步地,所述对所述创建的Activity的状态栏进行与所述系统类型对应的图标颜色调整处理,包括:若当前系统是MIUI系统,则通过反射机制调用MIUI系统的android.view.MiuiWindowManager$LayoutParams方法,获取其EXTRA_FLAG_STATUS_BAR_DARK_MODE的值,将所述EXTRA_FLAG_STATUS_BAR_DARK_MODE设置到window的setExtraFlags方法中,以进行图标颜色调整处理;若当前系统是Flyme系统,则通过反射机制调用Flyme系统的android.view.WindowManager$LayoutParams方法,获取其MEIZU_FLAG_DARK_STATUS_BAR_ICON的值和当前内部meizuFlags的值,将所述MEIZU_FLAG_DARK_STATUS_BAR_ICON的值设置到meizuFlags中以生成新的meizuFlags,将所述新的meizuFlags的值重新设置到WindowManager.LayoutParams方法中,以进行图标颜色调整处理;若当前系统是ColorOS系统,通过反射机制调用ColorOS系统的com.color.view.ColorStatusbarTintUtil方法,获取其SYSTEM_UI_FLAG_OP_STATUS_BAR_TINT的值,将所述SYSTEM_UI_FLAG_OP_STATUS_BAR_TINT的值设置到window.getDecorView().getSystemUiVisibility()方法中,以进行图标颜色调整处理;若当前系统是EUI系统,则通过反射机制调用系统的android.view.Window对象的setStatusBarIconColor方法,进行图标颜色调整处理。本专利技术实施例根据第二方面提供的一种状态栏沉浸式效果的配置装置,包括:Activity创建模块,用于接收Activity的创建指令,响应于所述创建指令创建Activity;代码获取模块,用于通过反射机制获取用于配置状态栏沉浸式效果的沉浸式处理代码;效果配置模块,用于根据所述沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果。本专利技术实施例根据第三方面提供的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的状态栏沉浸式效果的配置方法。本专利技术实施例根据第四方面提供的一种计算机设备,所述计算机设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的状态栏沉浸式效果的配置方法。在本专利技术实施例中,当接收Activity的创建指令时,响应于所述创建指令创建Activity;通过反射机制获取用于配置状态栏沉浸式效果的沉浸式处理代码;根据所述沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果,无需使用方实现任何接口,就能使应用程序的页面在显示时呈现状态栏沉浸式效果。另一方面,预先依据Activity类设置Instrumentation代理类本文档来自技高网...

【技术保护点】
1.一种状态栏沉浸式效果的配置方法,其特征在于,包括以下步骤:接收Activity的创建指令,响应于所述创建指令创建Activity;通过反射机制获取用于配置状态栏沉浸式效果的沉浸式处理代码;根据所述沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果。

【技术特征摘要】
1.一种状态栏沉浸式效果的配置方法,其特征在于,包括以下步骤:接收Activity的创建指令,响应于所述创建指令创建Activity;通过反射机制获取用于配置状态栏沉浸式效果的沉浸式处理代码;根据所述沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果。2.如权利要求1所述的状态栏沉浸式效果的配置方法,其特征在于,所述通过反射机制获取用于配置状态栏沉浸式效果的沉浸式处理代码,之前包括:接收代理类创建指令;响应于所述代理类创建指令,依据Activity类创建用于代理Activity生命周期的Instrumentation代理类;接收方法重写指令,所述方法重写指令中包括所述用于配置状态栏沉浸式效果的沉浸式处理代码;响应于所述方法重写指令,根据所述沉浸式处理代码重写所述Instrumentation代理类的CallActivityOnCreate成员方法。3.如权利要求2所述的状态栏沉浸式效果的配置方法,其特征在于,所述通过反射机制获取用于配置状态栏沉浸式效果的沉浸式处理代码;根据所述沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果,包括:通过反射机制获取所述Instrumentation代理类的CallActivityOnCreate成员方法;执行所述CallActivityOnCreate成员方法中的沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果。4.如权利要求1所述的状态栏沉浸式效果的配置方法,其特征在于,所述根据所述沉浸式处理代码为所述创建的Activity配置状态栏沉浸式效果,包括:获取当前系统的系统信息;根据所述系统信息确定对所述创建的Activity的处理逻辑;执行所述处理逻辑为所述创建的Activity配置状态栏沉浸式效果。5.如权利要求4所述的状态栏沉浸式效果的配置方法,其特征在于,所述执行所述处理逻辑为所述创建的Activity配置状态栏沉浸式效果,包括:获取与所述系统信息对应的沉浸式参数;为所述创建的Activity配置所述沉浸式参数,以实现状态栏沉浸式效果。6.如权利要求5所述的状态栏沉浸式效果的配置方法,其特征在于,所述获取与所述系统信息对应的沉浸式参数,包括:利用反射机制获取预先设置在Activity类上的注解内容;从所述注解内容中确定与所述系统信息对应的沉浸式参数。7.如权利要求4所述的状态栏沉浸式效果的配置方法,其特征在于,所述系统信息包括API级别信息;所述根据所述系统信息确定对所述创建的Activity的处理逻辑,包括:若所述API级别处于第一阈值区间内,则对所述创建的Activity的状态栏进行第一类透明化处理;若所述API级别处于第二阈值区间内,则对所述创建的Activity的状态栏进行第二类透明化处理。8.如权利要求7所述的状态栏沉浸式效果的配置方法,其特征在于,所述系统信息还包括用于确定当前系统类型的厂商信息;所述根据所述系统信息确定对所述创建的Activity的处理逻辑,包括:根据所述厂商信息确定当前系...

【专利技术属性】
技术研发人员:张嘉俊
申请(专利权)人:广州优视网络科技有限公司
类型:发明
国别省市:广东,44

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

1