一种显示界面显示方法、显示装置及计算机可读存储介质与流程

文档序号:14443704阅读:179来源:国知局
一种显示界面显示方法、显示装置及计算机可读存储介质与流程

本发明涉及显示界面优化领域,尤其涉及一种显示界面显示方法、显示装置及计算机可读存储介质。



背景技术:

目前智能手机、平板电脑等智能终端的应用越来越普及,特别是基于安卓操作系统(androidsystem)的智能终端,第三方在该操作系统的架构上开发了满足各种应用需求的应用程序,也就是app。这些应用程序往往按照自身的功能设计各种显示界面,也就是ui(userinterface)界面,用于人机交互。应用程序的显示界面仍会保留智能终端操作系统的状态栏或导航栏,所述状态栏是指显示于所述显示界面顶部的条状显示区域,常用于显示通信信号状态、电量状态、时间等信息;所述导航栏是指显示于所述显示界面底部的条状显示区域,所述导航栏上设有至少一个虚拟按钮,例如返回按钮、主界面按钮等,可接收用户的操作以进行返回操作或主界面显示操作。

现有技术中,各应用程序会通过操作系统提供的接口自行设置状态栏或导航栏的颜色,包括前景颜色和背景颜色,所述前景颜色即状态栏或导航栏上的图标和字体的颜色;所述背景颜色即状态栏或导航栏上背景的颜色,也就是除了前景颜色涉及的对象以外区域的颜色,所述背景颜色一般都是均匀的颜色,例如统一为黑色背景或其他颜色的背景。应用程序的开发者会根据该应用程序的显示界面风格设置状态栏或导航栏的背景颜色,再根据所述背景颜色进行反色计算,得到与背景颜色反差较大的前景颜色,例如当背景颜色为深色调或浅色调时,将前景颜色设为浅色调或深色调,前景颜色往往会和智能终端主界面中的状态栏或导航栏的前景颜色不同。

然而,现有技术仍存在以下问题:

1、应用程序的开发者会忘记修改前景颜色,或者修改得不合适,使得所述状态栏或导航栏的前景颜色和背景颜色不协调;

2、不同的应用程序在反色算法中对反色的阈值定义不同,对于同样的背景颜色,不同的应用程度可能会设置不同的前景颜色,造成视觉效果不一致;

3、某些应用程序会设置沉浸式状态栏或导航栏,会将状态栏或导航栏的背景颜色设计为透明色,给前景颜色的反色计算带来困难。

为了追求视觉效果统一,需要一种能够强制对各应用程序的显示界面中状态栏或导航栏的前景颜色进行反色的显示方法,屏蔽各应用程序对状态栏或导航栏前景颜色自行设置。



技术实现要素:

本发明提供了一种显示界面显示方法、显示装置及计算机可读存储介质,屏蔽各应用程序对显示界面中状态栏或导航栏的前景颜色设置,强制按照各应用程序中状态栏或导航栏的背景颜色设置对应的前景颜色。

本发明的第一方面,公开了一种显示界面显示方法,包括以下步骤:

s101:判断一智能终端内的应用程序是否产生一显示刷新操作;

s102:当所述智能终端内的应用程序产生一显示刷新操作时,通过一反色算法基于显示界面上状态栏或导航栏的背景颜色计算所述状态栏或导航栏的前景颜色;

s103:于所述智能终端的显示界面显示所述状态栏或导航栏。

优选地,步骤s101中,所述显示刷新操作包括以下任一操作:

1)任一应用程序的启动操作;

2)任一应用程序对状态栏或导航栏的颜色执行修改操作;

3)所述智能终端的桌面或锁屏界面执行壁纸修改操作;

4)任一应用程序对所述状态栏或导航栏的前景颜色执行反色重算操作。

优选地,步骤s102包括以下步骤:

s102-1:判断所述状态栏或导航栏为透明状态或不透明状态;

s102-2:当所述状态栏或导航栏为不透明状态时,获取所述状态栏或导航栏的背景颜色;

s102-3:将所述状态栏或导航栏的前景颜色设为与所述状态栏或导航栏的背景颜色相反的色调;

s102-4:当所述状态栏或导航栏为透明状态时,对所述应用程序的状态栏或导航栏的显示区域执行截图操作,获得一状态栏截图或导航栏截图;

s102-5:对所述状态栏截图或导航栏截图通过一采样算法计算得到一截图背景色调;

s102-6:将所述状态栏或导航栏的前景颜色设为与所述截图背景色调相反的色调。

优选地,所述步骤s102还包括以下步骤:

s102-7:当所述状态栏或导航栏为透明状态且所述应用程序显示界面的背景颜色为透明色时,获取所述智能终端显示界面中下一层处于显示状态的显示窗口的背景颜色;

s102-8:将所述状态栏或导航栏的前景颜色设为与所述显示窗口的背景颜色相反的色调。

优选地,s103之后,所述显示界面显示方法还包括以下步骤:

s104:保存所述应用程序的状态栏或导航栏的前景颜色;

s105:当所述应用程序再次产生一显示刷新操作时,按照步骤s104中保存的状态栏或导航栏的前景颜色显示所述状态栏或导航栏。

本发明的第二方面,公开了一种显示界面显示装置,包括:

判断模块,判断一智能终端内的应用程序是否产生一显示刷新操作;

反色计算模块,与所述判断模块连接,当所述判断模块判断一智能终端内的应用程序产生一显示刷新操作时,通过一反色算法基于显示界面上状态栏或导航栏的背景颜色计算所述状态栏或导航栏的前景颜色;

第一显示模块,与所述反色计算模块连接,于所述智能终端的显示界面显示所述状态栏或导航栏。

优选地,所述判断模块判断所述应用程序是否产生一显示刷新操作时,所述显示刷新操作包括以下任一操作:

1)任一应用程序的启动操作;

2)任一应用程序对状态栏或导航栏的颜色执行修改操作;

3)所述智能终端的桌面或锁屏界面执行壁纸修改操作;

4)任一应用程序对所述状态栏或导航栏的前景颜色执行反色重算操作。

优选地,所述反色计算模块包括:

透明状态判断单元,判断所述状态栏或导航栏为透明状态或不透明状态;

第一背景颜色获取单元,与所述透明状态判断单元连接,当所述透明状态判断单元判断所述状态栏或导航栏为不透明状态时,获取所述状态栏或导航栏的背景颜色;

第一颜色设置单元,与所述第一背景颜色获取单元连接,将所述状态栏或导航栏的前景颜色设为与所述状态栏或导航栏的背景颜色相反的色调;

截图单元,与所述透明状态判断单元连接,当所述透明状态判断单元判断所述状态栏或导航栏为透明状态时,对所述应用程序的状态栏或导航栏的显示区域执行截图操作,获得一状态栏截图或导航栏截图;

采样计算单元,与所述截图单元连接,对所述状态栏截图或导航栏截图通过一采样算法计算得到一截图背景色调;

第二颜色设置单元,与所述采样计算单元连接,将所述状态栏或导航栏的前景颜色设为与所述截图背景色调相反的色调。

优选地,所述反色计算模块还包括:

第二背景颜色获取单元,与所述透明状态判断单元连接,当所述透明状态判断单元判断所述状态栏或导航栏为透明状态且所述应用程序显示界面的背景颜色为透明色时,获取所述智能终端显示界面中下一层处于显示状态的显示窗口的背景颜色;

第三颜色设置单元,与所述第二背景颜色获取单元连接,将所述状态栏或导航栏的前景颜色设为与所述显示窗口的背景颜色相反的色调。

优选地,所述显示界面显示装置还包括:

保存模块,与所述反色计算模块连接,保存所述应用程序的状态栏或导航栏的前景颜色;

第二显示模块,与所述保存模块连接,当所述应用程序再次产生一显示刷新操作时,按照所述保存模块中保存的状态栏或导航栏的前景颜色显示所述状态栏或导航栏。

本发明的第三方面,公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

s106:判断一智能终端内的应用程序是否产生一显示刷新操作;

s107:当所述智能终端内的应用程序产生一显示刷新操作时,通过一反色算法基于显示界面上状态栏或导航栏的背景颜色计算所述状态栏或导航栏的前景颜色;

s108:于所述智能终端的显示界面显示所述状态栏或导航栏。

优选地,步骤s106中,所述显示刷新操作包括以下任一操作:

1)任一应用程序的启动操作;

2)任一应用程序对状态栏或导航栏的颜色执行修改操作;

3)所述智能终端的桌面或锁屏界面执行壁纸修改操作;

4)任一应用程序对所述状态栏或导航栏的前景颜色执行反色重算操作。

优选地,步骤s107包括以下步骤:

s107-1:判断所述状态栏或导航栏为透明状态或不透明状态;

s107-2:当所述状态栏或导航栏为不透明状态时,获取所述状态栏或导航栏的背景颜色;

s107-3:将所述状态栏或导航栏的前景颜色设为与所述状态栏或导航栏的背景颜色相反的色调;

s107-4:当所述状态栏或导航栏为透明状态时,对所述应用程序的状态栏或导航栏的显示区域执行截图操作,获得一状态栏截图或导航栏截图;

s107-5:对所述状态栏截图或导航栏截图通过一采样算法计算得到一截图背景色调;

s107-6:将所述状态栏或导航栏的前景颜色设为与所述截图背景色调相反的色调。

优选地,所述步骤s107还包括以下步骤:

s107-7:当所述状态栏或导航栏为透明状态且所述应用程序显示界面的背景颜色为透明色时,获取所述智能终端显示界面中下一层处于显示状态的显示窗口的背景颜色;

s107-8:将所述状态栏或导航栏的前景颜色设为与所述显示窗口的背景颜色相反的色调。

优选地,s108之后,所述计算机程序还包括以下步骤:

s109:保存所述应用程序的状态栏或导航栏的前景颜色;

s110:当所述应用程序再次产生一显示刷新操作时,按照步骤s109中保存的状态栏或导航栏的前景颜色显示所述状态栏或导航栏。

采用了上述技术方案后,与现有技术相比,具有以下有益效果:

1.通过对状态栏或导航栏的强制反色机制,维持系统主题视觉效果的统一,简化第三方应用程序对状态栏或导航栏的开发逻辑;

2.状态栏或导航栏信息保持对用户清晰可见,提高用户交互体验;

3.对多种不同类型的状态栏以及在不同场景下正确反色;

4.支持应用程序特别设定状态栏颜色作为特性和关闭强制状态栏反色。

附图说明

图1为符合本发明一优选实施例中显示界面显示方法的流程示意图;

图2为图1中步骤s102的流程示意图;

图3为另一实施例中图2中步骤s102的补充步骤的流程示意图;

图4为符合本发明一优选实施例中显示界面显示装置的结构框图;

图5为图4中反色计算模块12的结构框图;

图6为符合本发明一优选实施例中所述计算机可读存储介质上计算机程序的流程示意图;

图7为图6中步骤s107的流程示意图;

图8为另一实施例中图7中步骤s107的补充步骤的流程示意图。

附图标记:

10-显示界面显示装置、11-判断模块、12-反色计算模块、13-第一显示模块、14-保存模块、15-第二显示模块、121-透明状态判断单元、122-第一背景颜色获取单元、123-第一颜色设置单元、124-截图单元、125-采样计算单元、126-第二颜色设置单元、127-第二背景颜色获取单元、128-第三颜色设置单元。

具体实施方式

以下结合附图与具体实施例进一步阐述本发明的优点。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。

参阅图1,为符合本发明一优选实施例中显示界面显示方法的流程示意图,所述显示界面显示方法包括以下步骤:

s101:判断一智能终端内的应用程序是否产生一显示刷新操作。

本实施例中,所述显示刷新操作须由应用程序(即app)产生,能够对所述智能终端的显示界面进行刷新,可以是应用程序的启动操作、应用程序显示界面的切换、应用程序对壁纸进行修改;所述显示刷新操作也可以是应用程序对状态栏或导航栏的颜色的修改操作,例如修改背景颜色、修改前景颜色等。任一应用程序产生的显示刷新操作均可作为本步骤判断的对象,不同应用程序之间的显示界面切换也属于显示刷新操作的范畴。由于各应用程序须调用操作系统提供的类或方法的接口实现显示功能,如view类、surface类等,因此判断所述显示刷新操作可以通过对相关的类或方法的接口进行监控,实现显示刷新操作的判断。

s102:当所述智能终端内的应用程序产生一显示刷新操作时,通过一反色算法基于显示界面上状态栏或导航栏的背景颜色计算所述状态栏或导航栏的前景颜色。

当步骤s101判断成立时,即所述智能终端内的应用程序产生一显示刷新操作时,执行本步骤。本步骤执行反色计算,根据所述显示界面上状态栏或导航栏的背景颜色来计算所述状态栏或导航栏的前景颜色。从视觉角度而言,显示界面的背景颜色和前景颜色具有较大反差时,前景的内容容易被用户辨识,例如在白纸上使用黑颜色进行字体书写最显眼。本步骤执行时,所述状态栏或导航栏的背景颜色已由所述应用程序确定,从相关的类或方法接口可以获取所述应用程序对所述状态栏或导航栏的背景颜色的设定值,例如layoutparams中增加字段保存设定的状态栏或导航栏的背景颜色。而后根据该设定值通过一反色算法计算与所述状态栏或导航栏的背景颜色反差最大的色调作为所述所述状态栏或导航栏的前景颜色。图像的颜色在计算机系统中由像素数值来表示,例如常见的rgb像素系统,采用三原色的像素数值来表示颜色,数值范围为0-255。所述反色算法的实现,可以将255减去所述状态栏或导航栏的背景颜色的像素数值,得到的像素数值即为所述状态栏或导航栏的前景颜色的像素数值。所述反色算法的实现,还可通过在所述智能终端内预设各种颜色对应的反色,形成一组对应关系,进行反色计算时,只需根据状态栏或导航栏的背景颜色在所述对应关系中查找与之对应的反色即可。

本步骤的执行是在操作系统的层面执行,屏蔽了各应用程序自身对所述状态栏或导航栏前景颜色的设置,实现统一的状态栏或导航栏的前景颜色设置。例如本步骤可对setstatusbar、setvis、setbackground等方法或类进行调用,实现对状态栏或导航栏的前景颜色设置。由于不同的应用程序采用的显示界面风格不同,对于状态栏或导航栏的背景颜色设置也不同,本步骤运行会得到不同的前景颜色,以实现反色效果,方便用户视觉识别。而对于不同应用程序设置的相同的背景颜色,本步骤运行后会得到相同的前景颜色,实现视觉效果的一致性;且本方法在操作系统层面执行,无论各应用程序如何处理状态栏或导航栏的前景颜色,本方法最终会按照本步骤中的反色算法对所述状态栏或导航栏的前景颜色进行反色计算,实现了强制反色机制,同时反色后会使状态栏或导航栏的背景颜色和前景颜色具有较大反差,能够使用户清晰可见,提高用户交互体验。

s103:于所述智能终端的显示界面显示所述状态栏或导航栏。

本步骤按照步骤s102中通过反色算法计算得到的所述状态栏或导航栏的前景颜色进行所述状态栏或导航栏的显示,为用户显示具有反色效果的状态栏或导航栏。具体实现时,在步骤s102对相关方法或类参数设置的基础上通过调用systemuivisibility等类或其中的方法实现显示界面的显示。上述步骤执行后,系统能够根据状态栏或导航栏的背景颜色进行反色计算得到状态栏或导航栏的前景颜色,避免了各应用程序对状态栏或导航栏的前景颜色进行风格不同的设置,维持了系统主题视觉效果的统一。同时,由于系统层面已经实现了反色功能,第三方应用程序无需对状态栏或导航栏的前景颜色计算进行开发设置,简化了开发逻辑。

作为所述显示界面显示方法的进一步改进,步骤s102执行时,所述显示刷新操作包括以下任一操作:

1)任一应用程序的启动操作:

应用程序启动时必然会在原有显示界面基础上打开该应用程序自身的显示界面,也就是有新的显示界面产生,改变了显示内容。

2)任一应用程序对状态栏或导航栏的颜色执行修改操作:

应用程序会自行对状态栏或导航栏的颜色执行修改,例如对systemuivisibility、setstatusbarcolor、setbackground等类或方法进行调用或参数修改,即可作为显示刷新操作。需要对上述修改操作作出反应,通过计算所述状态栏或导航栏的前景颜色以适应背景颜色的修改。

3)所述智能终端的桌面或锁屏界面执行壁纸修改操作:

本操作并不针对应用程序,而是所述智能终端的桌面或锁屏界面修改了壁纸,也就是操作系统的主界面或锁屏界面的背景图案进行了更换,也属于显示刷新操作,需要对状态栏或导航栏进行相应的颜色同步修改。

4)任一应用程序对所述状态栏或导航栏的前景颜色执行反色重算操作。

本操作由应用程序发起,恰是本发明需要进行强制屏蔽的操作,故应用程序自身发起的对状态栏或导航栏的前景颜色执行反色重算时,需要执行所述步骤s102对所述状态栏或导航栏的前景颜色进行统一计算,使所述应用程序自身的反色重算操作不起作用。

只要应用程序启动上述任意操作,本方法就执行强制反色,这样可以屏蔽应用程序对状态栏或导航栏的前景颜色的修改,使修改前景颜色的权限收归于系统层面。

作为所述显示界面显示方法的进一步改进,步骤s103之后,所述显示界面显示方法还包括一下步骤:

s104:保存所述应用程序的状态栏或导航栏的前景颜色。

本步骤保存所述步骤s02中计算得到的所述状态栏或导航栏的前景颜色,对于每一应用程序均分别保存。实现方式是从相关的类或方法的接口获取所述状态栏或导航栏的前景颜色的像素数值并保存。

s105:当所述应用程序再次产生一显示刷新操作时,按照步骤s104中保存的状态栏或导航栏的前景颜色显示所述状态栏或导航栏。

当一应用程序再次产生一显示刷新操作时,也就是所述步骤s101中判断的显示刷新操作再次出现时,无需使用步骤s102中通过反色算法进行计算,可直接调用步骤s104中保存的所述状态栏或导航栏的前景颜色进行显示,节约系统资源,无需重复计算。

本改进实施例支持对状态栏或导航栏的前景颜色进行记忆,避免重复运算。在本发明其他实施方式中,还可允许用户自定义状态栏或导航栏的前景颜色;也可设置操作按钮或开关,允许用户针对不同的应用程序选择打开强制反色功能或者关闭强制反色功能以保持原有设计。

图2为图1中步骤s102的流程示意图,所述步骤s102包括以下步骤:

s102-1:判断所述状态栏或导航栏为透明状态或不透明状态。

不少应用程序会将所述状态栏或导航栏设置为透明状态,也就是没有背景颜色,呈透明状,因此所述状态栏或导航栏的前景颜色的计算就失去了基础,需要区分对待。本步骤的执行,可在activity类的oncreate方法中获取让状态栏透明的窗口属性,从而判断所述状态栏或导航栏为透明状态或不透明状态。

s102-2:当所述状态栏或导航栏为不透明状态时,获取所述状态栏或导航栏的背景颜色。

当步骤s102-1判断所述状态栏或导航栏为不透明状态时,执行本步骤。本步骤获取所述状态栏或导航栏的背景颜色,例如通过getstatusbarcolor方法实现对背景颜色的获取。

s102-3:将所述状态栏或导航栏的前景颜色设为与所述状态栏或导航栏的背景颜色相反的色调。

本步骤对所述状态栏或导航栏的前景颜色执行反色设置,根据步骤s102-2中获取的所述状态栏或导航栏的背景颜色进行反色计算,将所述前景颜色设为与所述背景颜色相反的色调。色调指的是一幅图像中画面色彩的总体倾向,是大的色彩效果。由于哪些颜色互为相反颜色很难精确确认,特别是在图像数字化的状态下,颜色均由像素数值体现,能够通过像素数值实现细微颜色差别的表达,无法通过统一的标准来进行反色定义。因此本步骤只要确保色调是相反的即可,确保所述背景颜色与前景颜色有颜色反差易于识别即可。

s102-4:当所述状态栏或导航栏为透明状态时,对所述应用程序的状态栏或导航栏的显示区域执行截图操作,获得一状态栏截图或导航栏截图。

当步骤s102-1判断所述状态栏或导航栏为透明状态时,执行本步骤。由于所述状态栏或导航栏的背景颜色为透明,无法作为反色计算的基础,故考虑选用所述状态栏或导航栏所覆盖的显示界面的颜色作为反色计算基础。本步骤执行截图操作,对所述应用程序的状态栏或导航栏的显示区域执行截图操作,获得一状态栏截图或导航栏截图。

s102-5:对所述状态栏截图或导航栏截图通过一采样算法计算得到一截图背景色调。

所述状态栏截图或导航栏截图体现了所述应用程序固有显示界面的色彩风格,且这样的显示界面往往带有图案,颜色不均匀。为了得到单一的颜色以便反色,需要对所述状态栏截图或导航栏截图进行采样,通过一采样算法实现。所述采样算法实现时,选取所述状态栏截图或导航栏截图上不同位置的多个像素点,而后计算这些像素点的像素值均值,将所述像素值均值作为截图背景色调。

s102-6:将所述状态栏或导航栏的前景颜色设为与所述截图背景色调相反的色调。

本步骤对所述状态栏或导航栏的前景颜色执行反色设置,根据步骤s102-5中获取的截图背景色调进行反色计算,将所述前景颜色设为与所述截图背景色调相反的色调。

本改进实施例针对不同类型的状态栏或导航栏进行正确反色,使状态栏或导航栏的前景颜色能够和显示界面的背景颜色相适应,例如当状态栏或导航栏为透明状态时,选取状态栏或导航栏对应区域的背景颜色作为反色计算基础,对于当下比较流行的透明状态栏或沉浸式状态栏能够作出正确的反色。

参阅图3,为另一实施例中图2中步骤s102的补充步骤的流程示意图,所述步骤s102还包括以下步骤:

s102-7:当所述状态栏或导航栏为透明状态且所述应用程序显示界面的背景颜色为透明色时,获取所述智能终端显示界面中下一层处于显示状态的显示窗口的背景颜色。

本步骤对所述状态栏或导航栏为透明状态的情况进一步作细分,即所述应用程序显示界面的背景颜色也为透明色时,无法通过对状态栏或导航栏的显示区域进行截图来实现背景颜色获取,须继续寻找下一层处于显示状态的显示窗口,并选取该显示窗口的背景颜色。所述智能终端上往往会运行多个显示窗口,也就是window,例如每个处于前台或后台运行的应用程序都有自己的显示窗口。这些显示窗口会分层显示,目前正在前台运行的应用程序的显示界面在最上层,当目前正在前台运行的应用程序的显示界面的背景颜色为透明色时,继续向下层寻找处于显示状态的显示窗口并通过相应的类或方法获取该显示窗口的背景颜色的设置。

s102-8:将所述状态栏或导航栏的前景颜色设为与所述显示窗口的背景颜色相反的色调。

本步骤对所述状态栏或导航栏的前景颜色执行反色设置,根据步骤s102-7中获取的显示窗口的背景颜色进行反色计算,将所述前景颜色设为与所述显示窗口的背景颜色相反的色调。

本发明中的显示界面显示方法应用时,所述状态栏或导航栏的显示区域根据各应用程序的显示状态而变化,例如所述智能终端横屏时、分屏时,所述状态栏或导航栏也会相应地变化显示位置,以保持相对顶部或相对底部的显示状态。本发明可单独用于对状态栏的前景颜色设定,导航栏的前景颜色仍由各应用程序设置;也可单独用于对导航栏的前景颜色设定,状态栏的前景颜色仍由各应用程序设置;也可同时对状态栏和导航栏的前景颜色进行统一设定,屏蔽应用程序对状态栏和导航栏的前景颜色的设置。本发明还可在系统设置界面中设置操作按钮,允许用户对各应用程序的状态栏或导航栏的前景颜色进行设置选择,对于部分应用程序,可选择不强制对其运行时的状态栏或导航栏的前景颜色进行设置,由应用程序自行设置,保持谷歌发布的安卓操作系统原有的模式。

参阅图4,为符合本发明一优选实施例中显示界面显示装置10的结构框图,所述显示界面显示装置10包括:

-判断模块11

所述判断模块11判断一智能终端内的应用程序是否产生一显示刷新操作。所述判断模块11对操作系统提供的显示功能相关的类或方法的接口进行监控,实现显示刷新操作的判断。

-反色计算模块12

所述反色计算模块12与所述判断模块11连接,当所述判断模块11判断一智能终端内的应用程序产生一显示刷新操作时,通过一反色算法基于显示界面上状态栏或导航栏的背景颜色计算所述状态栏或导航栏的前景颜色。所述反色计算模块12从所述判断模块11获取判断结果,当判断结果成立时,从状态栏或导航栏的前景颜色相关的类或方法的接口获取所述应用程序对所述状态栏或导航栏的背景颜色的设定值,而后根据该设定值通过一反色算法计算与所述状态栏或导航栏的背景颜色反差最大的色调作为所述所述状态栏或导航栏的前景颜色。所述反色计算模块12可通过对背景颜色的像素数值被255减法运算得到反色,也可以根据预设的各种颜色的对应关系进行反色获取。

所述反色计算模块12设于操作系统内,并不运行在应用程序内,屏蔽了各应用程序自身对所述状态栏或导航栏前景颜色的设置,实现统一的状态栏或导航栏的前景颜色设置。

-第一显示模块13

所述第一显示模块13与所述反色计算模块12连接,于所述智能终端的显示界面显示所述状态栏或导航栏。所述第一显示模块13从所述反色计算模块12获取所述状态栏或导航栏的前景颜色设置,按照所述状态栏或导航栏的前景颜色进行所述状态栏或导航栏的显示,为用户显示具有反色效果的状态栏或导航栏。

作为所述显示界面显示装置10的进一步改进,所述显示界面显示装置10还包括:

-保存模块14

所述保存模块14与所述反色计算模块12连接,保存所述应用程序的状态栏或导航栏的前景颜色。所述保存模块14从所述反色计算模块12获取计算得到的所述状态栏或导航栏的前景颜色,并保存于所述智能终端内,对于每一应用程序均对应保存一前景颜色。

-第二显示模块15

所述第二显示模块15与所述保存模块14连接,当所述应用程序再次产生一显示刷新操作时,按照所述保存模块14中保存的状态栏或导航栏的前景颜色显示所述状态栏或导航栏。

作为所述显示界面显示装置10的进一步改进,所述判断模块11判断所述应用程序是否产生一显示刷新操作时,所述显示刷新操作包括以下任一操作:

1)任一应用程序的启动操作;

2)任一应用程序对状态栏或导航栏的颜色执行修改操作;

3)所述智能终端的桌面或锁屏界面执行壁纸修改操作;

4)任一应用程序对所述状态栏或导航栏的前景颜色执行反色重算操作。

参阅图5,为图4中反色计算模块12的结构框图,所述反色计算模块12包括:

-透明状态判断单元121

所述透明状态判断单元121判断所述状态栏或导航栏为透明状态或不透明状态。所述透明状态判断单元121可在activity类的oncreate方法中获取让状态栏透明的窗口属性,从而判断所述状态栏或导航栏为透明状态或不透明状态。

-第一背景颜色获取单元122

所述第一背景颜色获取单元122与所述透明状态判断单元121连接,当所述透明状态判断单元121判断所述状态栏或导航栏为不透明状态时,获取所述状态栏或导航栏的背景颜色。所述第一背景颜色获取单元122可通过getstatusbarcolor方法实现对背景颜色的获取。

-第一颜色设置单元123

所述第一颜色设置单元123与所述第一背景颜色获取单元122连接,将所述状态栏或导航栏的前景颜色设为与所述状态栏或导航栏的背景颜色相反的色调。所述第一颜色设置单元123从所述第一背景颜色获取单元122获取所述状态栏或导航栏的背景颜色,通过一内嵌的反色算法计算得到所述状态栏或导航栏的前景颜色。

-截图单元124

所述截图单元124与所述透明状态判断单元121连接,当所述透明状态判断单元121判断所述状态栏或导航栏为透明状态时,对所述应用程序的状态栏或导航栏的显示区域执行截图操作,获得一状态栏截图或导航栏截图。

-采样计算单元125

所述采样计算单元125与所述截图单元124连接,对所述状态栏截图或导航栏截图通过一采样算法计算得到一截图背景色调。所述采样计算单元125选取所述状态栏截图或导航栏截图上不同位置的多个像素点,而后计算这些像素点的像素值均值,将所述像素值均值作为截图背景色调。

-第二颜色设置单元126

所述第二颜色设置单元126与所述采样计算单元125连接,将所述状态栏或导航栏的前景颜色设为与所述截图背景色调相反的色调。所述第二颜色设置单元126从所述采样计算单元125获取所述截图背景色调,并进行反色计算,得到与所述截图背景色调相反的色调作为所述状态栏或导航栏的前景颜色。

作为所述显示界面显示装置10的进一步改进,所述反色计算模块12还包括:

-第二背景颜色获取单元127

所述第二背景颜色获取单元127与所述透明状态判断单元121连接,当所述透明状态判断单元121判断所述状态栏或导航栏为透明状态且所述应用程序显示界面的背景颜色为透明色时,获取所述智能终端显示界面中下一层处于显示状态的显示窗口的背景颜色。

-第三颜色设置单元128

所述第三颜色设置单元128与所述第二背景颜色获取单元127连接,将所述状态栏或导航栏的前景颜色设为与所述显示窗口的背景颜色相反的色调。所述第三颜色设置单元128从所述第二背景颜色获取单元127获取所述显示窗口的背景颜色,并进行反色计算,得到与所述显示窗口的背景颜色相反的色调作为所述状态栏或导航栏的前景颜色。

参阅图6,为符合本发明一优选实施例中所述计算机可读存储介质上计算机程序的流程示意图,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

s106:判断一智能终端内的应用程序是否产生一显示刷新操作;

s107:当所述智能终端内的应用程序产生一显示刷新操作时,通过一反色算法基于显示界面上状态栏或导航栏的背景颜色计算所述状态栏或导航栏的前景颜色;

s108:于所述智能终端的显示界面显示所述状态栏或导航栏。

作为所述计算机程序的进一步改进,所述计算机程序还包括以下步骤:

s109:保存所述应用程序的状态栏或导航栏的前景颜色;

s110:当所述应用程序再次产生一显示刷新操作时,按照步骤s109中保存的状态栏或导航栏的前景颜色显示所述状态栏或导航栏。

作为所述计算机程序的进一步改进,步骤s106中,所述显示刷新操作包括以下任一操作:

1)任一应用程序的启动操作;

2)任一应用程序对状态栏或导航栏的颜色执行修改操作;

3)所述智能终端的桌面或锁屏界面执行壁纸修改操作;

4)任一应用程序对所述状态栏或导航栏的前景颜色执行反色重算操作。

参阅图7,为图6中步骤s107的流程示意图,所述步骤s107包括以下步骤:

s107-1:判断所述状态栏或导航栏为透明状态或不透明状态;

s107-2:当所述状态栏或导航栏为不透明状态时,获取所述状态栏或导航栏的背景颜色;

s107-3:将所述状态栏或导航栏的前景颜色设为与所述状态栏或导航栏的背景颜色相反的色调;

s107-4:当所述状态栏或导航栏为透明状态时,对所述应用程序的状态栏或导航栏的显示区域执行截图操作,获得一状态栏截图或导航栏截图;

s107-5:对所述状态栏截图或导航栏截图通过一采样算法计算得到一截图背景色调;

s107-6:将所述状态栏或导航栏的前景颜色设为与所述截图背景色调相反的色调。

参阅图8,为另一实施例中图7中步骤s107的补充步骤的流程示意图,所述步骤s107还包括以下步骤:

s107-7:当所述状态栏或导航栏为透明状态且所述应用程序显示界面的背景颜色为透明色时,获取所述智能终端显示界面中下一层处于显示状态的显示窗口的背景颜色;

s107-8:将所述状态栏或导航栏的前景颜色设为与所述显示窗口的背景颜色相反的色调。

上述计算机程序的方法步骤与本发明中的显示界面显示方法的实现方式一致,不再赘述。

应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。

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