CN106569885A - 应用主题切换方法及装置 - Google Patents
应用主题切换方法及装置 Download PDFInfo
- Publication number
- CN106569885A CN106569885A CN201610894472.5A CN201610894472A CN106569885A CN 106569885 A CN106569885 A CN 106569885A CN 201610894472 A CN201610894472 A CN 201610894472A CN 106569885 A CN106569885 A CN 106569885A
- Authority
- CN
- China
- Prior art keywords
- view
- pattern
- switched
- theme
- switching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Toys (AREA)
Abstract
本发明实施例提供一种应用主题切换方法及装置,所述方法包括:预存应用的背景主题切换时待切换样式的视图的样式项目列表;响应切换应用主题的请求,将应用的背景主题切换为所述请求对应的目标背景主题;遍历当前页面的视图,确定待切换样式的视图,根据预存的所述目标背景主题切换时待切换样式的视图的样式项目列表,获取所述待切换样式的视图的目标样式,将待切换样式的视图的样式按照所述目标样式进行切换。本发明实施例由于直接先将背景主题切换成新背景主题,无需销毁页面视图,切换效率可大为提升,而且,在切换成新背景主题后,以视图为单位,仅对待切换样式的视图进行切换,可以减少工作量,提高切换效率。
Description
技术领域
本发明涉及智能设备技术领域,尤其涉及一种应用主题切换方法及装置。
背景技术
随着移动互联网的高速发展,人们在衣、食、住、行、工作、娱乐等方面对智能设备的依赖越来越强,用户在不同的使用场合中对于应用主题具有不同的需求。
相关技术中,应用主题切换方案一般沿用智能设备的系统框架中原生的实现方案,以安卓(Android)系统为例,应用切换主题时的处理流程如图1所示,具体需要进行如下操作:S21、保存页面状态;S22、关闭并销毁页面;S23、切换内部背景(Context)主题;S24、创建页面;S25、恢复保存的页面状态。
本发明的发明人在实施本发明的过程中发现,上述现有的切换主题涉及到页面的关闭并销毁和重建的过程,在用户侧会观察到很明显的页面重建过程,需要用户长时间等待,明显会打断用户操作,而且重建的页面也还可能存在页面内容缺失的问题;此外,由于页面重建资源消耗较大,具有明显的卡顿感,对用户智能设备的运行流畅度和电量消耗均带来很大的负担。为此,有部分应用会采用预先截图遮盖等方式来消除用户的不良视觉体验,但是这种方式仅能解决用户视觉观感效果的问题,由于仍需要进行页面重建,对于卡顿感、用户长时间等待、打断用户操作、重建的页面内容缺失、耗电大等缺陷仍不能有效解决。
发明内容
本发明实施例所要解决的技术问题在于,提供一种应用主题切换方法及装置,能快速实现主题切换且占用系统资源少。
为解决上述技术问题,本发明实施例首先提供如下技术方案:一种应用主题切换方法,包括:
预存应用的背景主题切换时待切换样式的视图的样式项目列表;
响应切换应用主题的请求,将应用的背景主题切换为所述请求对应的目标背景主题;
遍历当前页面的视图,确定待切换样式的视图,根据预存的所述目标背景主题切换时待切换样式的视图的样式项目列表,获取所述待切换样式的视图的目标样式,将待切换样式的视图的样式按照所述目标样式进行切换。
进一步地,所述预存应用的背景主题切换时待切换样式的视图的样式项目列表具体包括:
判断所述待切换样式的视图所采用的创建方式;
若所述待切换样式的视图通过自定义视图渲染的方式创建,重写布局填充器,在渲染视图时为待切换样式的视图添加样式切换标记并保存;
若所述待切换样式的视图通过构造对象的方式创建,为所述视图添加视图标签或者在派生类增加新成员变量,以所述视图标签或所述新成员变量作为所述待切换样式的视图的样式切换标记并保存。
进一步地,所述遍历当前页面的视图,确定待切换样式的视图具体包括:
遍历当前页面的视图,获取携带样式切换标记的视图;
将所述携带样式切换标记的视图确定为待切换样式的视图。
进一步地,所述根据预存的所述目标背景主题切换时待切换样式的视图的样式项目列表,获取所述待切换样式的视图的目标样式具体包括:
在所述待切换样式的视图的样式项目列表中查找所述待切换样式的视图,确定所述待切换样式的视图对应关联的待切换样式项目;
从所述目标背景主题的资源中获取所述待切换样式项目对应的目标样式并确定为所述待切换样式的视图的目标样式。
进一步地,所述将应用的背景主题切换为所述请求对应的目标背景主题具体包括:调用系统的背景主题设置功能,将背景主题设置为切换后的所述请求对应的目标背景主题。
另一方面,本发明实施例还提供一种应用主题切换装置,包括:
预存模块,用于预存应用的背景主题切换时待切换样式的视图的样式项目列表;
背景主题切换模块,用于响应切换应用主题的请求,将应用的背景主题切换为所述请求对应的目标背景主题;
视图样式切换模块,用于遍历当前页面的视图,确定待切换样式的视图,根据预存的所述目标背景主题切换时待切换样式的视图的样式项目列表,获取所述待切换样式的视图的目标样式,将待切换样式的视图的样式按照所述目标样式进行切换。
进一步地,所述预存模块具体包括:
判断单元,用于判断所述待切换样式的视图所采用的创建方式;
第一标记单元,用于若所述待切换样式的视图通过自定义视图渲染的方式创建,重写布局填充器,在渲染视图时为待切换样式的视图添加样式切换标记并保存;
第二标记单元,用于若所述待切换样式的视图通过构造对象的方式创建,为所述视图添加视图标签或者在派生类增加新成员变量,以所述视图标签或所述新成员变量作为所述待切换样式的视图的样式切换标记并保存。
进一步地,所述视图样式切换模块包括:
遍历单元,用于遍历当前页面的视图,获取携带样式切换标记的视图;
确定单元,用于将所述携带样式切换标记的视图确定为待切换样式的视图。
进一步地,所述视图样式切换模块包括:
查询单元,用于在所述待切换样式的视图的样式项目列表中查找所述待切换样式的视图,确定所述待切换样式的视图对应关联的待切换样式项目;
目标样式获取单元,用于从所述目标背景主题的资源中获取所述待切换样式项目对应的目标样式并确定为所述待切换样式的视图的目标样式。
进一步地,所述背景主题切换模块还用于调用系统的背景主题设置功能,将背景主题设置为切换后的所述请求对应的目标背景主题。
采用上述技术方案后,本发明实施例至少具有如下有益效果:本发明实施例由于直接先将背景主题切换成新背景主题,无需进行销毁页面视图的步骤,切换的效率可大为提升,而且,在切换成新背景主题后,以视图为单位进行切换,结合预存的每个视图在主题切换时需切换的样式项目列表,即可快速将待切换样式的视图按照目标样式进行切换设置,无需进行整个页面的销毁和重建过程,极大地提高了切换效率。对于不需切换样式的视图以及视图无需切换的样式项目不做修改切换,可以减少工作量,切换效率更为高效。而且,可以不影响当前页面正在展示的内容(如文字、正在运行的动画效果、正在播放的视频等)的连续展示,能避免由于页面的重建所带来的展示中断的缺陷,因工作量减小,也还能有效降低能耗。
附图说明
图1是现有的应用主题切换方法的步骤流程示意图。
图2是本发明应用主题切换方法一个实施例的流程示意图。
图3是本发明应用主题切换方法的一个可选实施例的步骤S11的具体流程示意图。
图4是本发明应用主题切换方法的一个可选实施例的步骤S13的具体流程示意图。
图5是本发明应用主题切换方法的另一个可选实施例的步骤S13的具体流程示意图。
图6是本发明应用主题切换装置的一个实施例的方框图。
图7是本发明应用主题切换装置的一个可选实施例中的预存模块的方框图。
图8是本发明应用主题切换装置的一个可选实施例的遍历模块的方框图。
图9是本发明应用主题切换装置的另一个可选实施例的遍历模块的方框图。
具体实施方式
下面结合附图和具体实施例对本申请作进一步详细说明。应当理解,以下的示意性实施例及说明仅用来解释本发明,并不作为对本发明的限定,而且,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合。
如图2所示,本发明实施例首先提供一种应用主题切换方法,包括:
步骤S11,预存应用的背景主题切换时待切换样式的视图的样式项目列表。
所述视图(view)是指文档在应用窗口中的显示效果,而在实际实施时,不但不同的视图会产生不同的显示效果。而且同一视图在不同的背景(context)主题下也会有不同的显示效果,应用可以根据不同时间段由用户自主设置采用不同的背景主题,例如:白天主题或夜间主题,也可以根据使用场合的不同由用户自主设置使用对应的主题,例如:工作主题、居家主题或休闲主题等等。通过分析不同主题下的显示效果,可以确定在不同主题之间进行切换时,视图需要切换的样式项目,而本步骤S10通过事先确定各视图在主题切换时需切换的样式项目并列表保存,从而有利于提高后续处理步骤的效率。
步骤S12,响应切换应用主题的请求,将应用的背景主题切换为所述请求对应的目标背景主题。
在传统模式下,应用主题的切换都将由智能设备的系统根据相应的请求进行,需先销毁页面视图,而本发明实施例在接管应用主题切换的管理功能后,无需销毁页面视图,而直接先将应用的背景主题切换为新背景主题,再从资源库(Resources)中获取资源新创建的视图或动作(activity)均为新背景主题的样式,由此,不仅提升了实施效率,还避免了销毁页面视图所带来的诸如弊端,而且能为后续的视图样式切换提供有效支持。
步骤S13,遍历当前页面的视图,确定待切换样式的视图,根据预存的所述目标背景主题切换时待切换样式的视图的样式项目列表,获取所述待切换样式的视图的目标样式,将待切换样式的视图的样式按照所述目标样式进行切换。
由于每个页面都可能有多个视图,以遍历方式对当前页面的全部视图进行逐个处理可以有效提升处理效率。
由于前期已经预存了每个视图在主题切换时需切换的样式项目列表,从而,在遍历到每一个需要切换样式的视图时,即可快速地从所述样式项目列表中确定所述待切换样式的视图的目标样式,例如:标题的字体颜色,图标颜色和页面背景色等等,从而对所述视图的待切换的样式项目按照所述目标样式进行切换,切换样式的针对性更强,可避免对一些无需切换的视图或样式项目进行没有实际效果的切换操作。而在具体实施时,切换过程也还可采用动画效果完成,能更好地提升用户的观感体验。
本发明实施例由于直接先将背景主题切换成新背景主题,无需进行销毁页面视图的步骤,切换的效率可大为提升,而且,在切换成新背景主题后,以视图为单位进行切换,结合预存的每个视图在主题切换时需切换的样式项目列表,即可快速将需切换的样式项目按照所述目标样式进行切换设置,无需进行整个页面的销毁和重建过程,极大地提高了切换效率。对于每一视图的无需切换的样式项目不做修改切换,可以减少工作量,切换效率更为高效。而且,可以不影响当前页面正在展示的内容(如文字、正在运行的动画效果、正在播放的视频等)的连续展示,能避免由于页面的重建所带来的展示中断的缺陷,因工作量减小,也还能有效降低能耗。
在本发明一个可选实施例中,如图3所示,所述步骤S11具体包括:
步骤S111,判断所述待切换样式的视图所采用的创建方式。
由于视图创建的方式有多种,通过预先判断视图所采用的创建方式,可以有利于后续根据视图不同的创建方式来对应采取不同的处理方式,以适应各种创建方式创建的视图的处理需求。
步骤S112,若所述待切换样式的视图通过自定义视图渲染的方式创建,重写布局填充器,在渲染视图时为待切换样式的视图添加样式切换标记并保存。
对于通过自定义视图渲染新建的视图,布局填充器(LayoutInflater)是创建视图的重要途径,而重写布局填充器则相当于重新创建视图,从而可以在重新创建视图时为所述视图添加样式切换标记。例如:在重写布局填充器时,通过自定义属性的方式,即可在由xml文件渲染视图时为待切换样式的视图加上样式切换标记。
步骤S113,若所述待切换样式的视图通过构造对象的方式创建,为所述视图添加视图标签或者在派生类增加新成员变量,以所述视图标签或所述新成员变量作为所述待切换样式的视图的样式切换标记并保存。
对于通过构造对象方式新建的视图,无需重新创建视图,而可直接为所述视图添加视图标签(view tag)或者在派生类增加新成员变量,进而以所添加的视图标签或者新成员变量作为所述待切换样式的视图的样式切换标记,由此可以简化为此类视图添加样式切换标记的操作,提升处理效率。
本发明实施例通过在待切换样式的视图中添加样式切换标记,一方面可以排除不需要切换样式的视图,另一方面还能表明需要切换样式的视图需切换哪些展现的样式项目,例如:文本视图(Text View)的字体颜色、背景色或图片视图(Image View)的图片等项目中的至少一种。从而,可以让需要切换的视图以及需要切换的样式项目都能一目了然,有效减少在遍历所有视图时带来的不必要开销。
在本发明一个可选实施例中,如图4所示,所述步骤S13中的所述遍历当前页面的视图,确定待切换样式的视图具体又包括:
步骤S131,遍历当前页面的视图,获取携带样式切换标记的视图。
由于已经在待切换样式的视图中预先添加了样式切换标记,因此,在进行遍历时,只需确定所遍历到的视图是否携带有所述样式切换标记,并能排除未携带样式切换标记的视图,可以大大提升遍历处理效率。
在具体实施遍历动作时,以所述当前页面的结构为树状结构为例,将从根视图开始遍历当前页面的所有视图。
由于树状结构是非常常见的一种页面构建体系,在所述体系中,一个视图对象定义了一个屏幕上的一个矩形区域,一个视图也可以作为其他视图的根视图,所述树状结构中的根视图对子视图有绝对的掌控权,每个子视图的占地面积和位置,都是基于根视图来分配的,它能够接受和处理的事件,也是根视图派发下去的,树状结构使整个页面结构更有层次性,每个视图只需要由其根视图负责指挥子视图,职责明确,逻辑简单,利于开发和设计。
以遍历方式对全部视图进行逐个处理可以有效提升处理效率。对当前页面的所有视图的遍历时,可以采用的遍历方式有多种,例如:递归方式,其具体可以从根视图开始,以递归的方式遍历当前页面的所有视图,例如:视图的所有子视图,及子视图的子视图。而在本发明的另一个可选实施例中,也还可以通过诸如渲染期间保存所有视图引用方式并在遍历时通过视图引用来进行视图的遍历。此外,还可考虑采用的遍历方式包括:使用检视视图指定参数的方式进行视图的遍历;通过名字或标记的方式进行视图的遍历;通过传递参数的方式进行视图的遍历;通过用某个类型的所有脚本的方式进行视图的遍历;用过滤的构造函数FilteredElementCollector(doc,viewId)构造一个仅对指定视图中可见对象进行遍历的过滤器来实现遍历视图,在这种遍历方式中,加入条件OfClass(Typeof(FamilyInstance)),这个过滤条件找到在这个视图中出现的所有族实例,把可见的族实例的类型加入到一个List列表中,就可获得所有出现在这个视图中的族实例的类型列表,进而实现遍历。
步骤S132,将所述携带样式切换标记的视图确定为待切换样式的视图。
本实施例通过遍历时首先获取携带样式切换标记的视图,并将所述携带样式切换标记的视图确定为待切换样式的视图,有助于快速判断所遍历到的视图是否需要进行切换,为后续的切换操作提供依据,减少后续步骤不必要的开销。
在本发明另一个可选实施例中,如图5所示,所述步骤S13中的所述根据预存的所述目标背景主题切换时待切换样式的视图的样式项目列表,获取所述待切换样式的视图的目标样式具体包括:
步骤S133,在所述待切换样式的视图的样式项目列表中查找所述待切换样式的视图,确定所述待切换样式的视图对应关联的待切换样式项目。
由于在预存的待切换样式的视图的样式项目列表中,已经清楚地列出了每一个待切换样式的视图及其对应关联的需要切换的样式项目。从而,在进行本步骤S133时,只需在所述样式项目列表中找到所述待切换样式的视图,即可快速确定其对应关联的待切换样式项目。
步骤S134,从所述目标背景主题的资源中获取所述待切换样式项目对应的目标样式并确定为所述待切换样式的视图的目标样式。
目标背景主题的资源中保存有大量的在所述目标背景主题下的各视图的各种样式,根据步骤S133确定了待切换样式项目后,即可直接从目标背景主题的资源中获取所述待切换样式项目的目标样式,并将所述目标样式确定为所述待切换样式的视图的目标样式。
本实施例借助于预存的待切换样式的视图的样式项目列表以及已经切换的目标背景主题,可以快速地确定待切换样式的视图的目标样式,有利于快速进行后续的切换样式动作。
由于仅对待切换样式的视图进行切换设置,并且视图的样式切换是由系统底层处理,整个页面的切换效率较高。当遍历结束后,当前页面各视图的样式即能切换完毕。
在本发明的一个可选实施例中,所述步骤S12中的所述将应用的背景主题切换为所述请求对应的目标背景主题具体包括:调用系统的背景主题设置功能,将背景主题设置为切换后的所述请求对应的目标背景主题。
背景主题切换就是根据不同的设定,呈现不同风格的界面给用户,也就是所谓的换肤,实现该功能的基本原理是:通过选定预先定义好的主题样式,改变页面当前引用的主题CSS文件,并且将当前的主题样式写入cookie中或者写入数据库中,从而在用户再次访问所述页面时,调用的就是之前设置好的主题样式。
本实施例通过调用系统的背景主题设置功能来进行切换背景主题,所有的切换操作均在系统底层完成,效率非常高,将背景中的主题设置为目标背景主题,而可以很好地结合系统的部分主题切换功能生效,能更快捷地将背景中的主题设置为切换后的目标背景主题。
另一方面,为更好地实施以上方法,如图6所示,本发明实施例还提供一种应用主题切换装置,其包括:
预存模块11,用于预存应用的背景主题切换时待切换样式的视图的样式项目列表;
背景主题切换模块12,用于响应切换应用主题的请求,将应用的背景主题切换为所述请求对应的目标背景主题;
视图样式切换模块13,用于遍历当前页面的视图,确定待切换样式的视图,根据预存的所述目标背景主题切换时待切换样式的视图的样式项目列表,获取所述待切换样式的视图的目标样式,将待切换样式的视图的样式按照所述目标样式进行切换。
本发明实施例由于可由背景主题切换模块12先将背景主题切换成新背景主题,无需进行销毁页面视图的步骤,切换的效率可大为提升,而且,在切换成新背景主题后,由视图样式切换模块13以视图为单位进行遍历切换,结合预存模块11中预存的每个视图在主题切换时需切换的样式项目列表,即可快速将需切换的样式项目按照所述目标样式进行切换设置,无需进行整个页面的销毁和重建过程,极大地提高了切换效率。对于每一视图的无需切换的样式项目不做修改切换,可以减少工作量,切换效率更为高效。而且,可以不影响当前页面正在展示的内容(如文字、正在运行的动画效果、正在播放的视频等)的连续展示,能避免由于页面的重建所带来的展示中断的缺陷,因工作量减小,也还能有效降低能耗。
在本发明一个可选实施例中,如图7所示,所述预存模块11具体包括:
判断单元111,用于判断所述待切换样式的视图所采用的创建方式;
第一标记单元112,用于若所述待切换样式的视图通过自定义视图渲染的方式创建,重写布局填充器,在渲染视图时为待切换样式的视图添加样式切换标记并保存;
第二标记单元113,用于若所述待切换样式的视图通过构造对象的方式创建,为所述视图添加视图标签或者在派生类增加新成员变量,以所述视图标签或所述新成员变量作为所述待切换样式的视图的样式切换标记并保存。
由于视图创建的方式不同,在预存每个视图在主题切换时需切换的样式项目列表时的具体操作也有所区别,因此通过判断单元111先判断视图创建的方式,再分别由第一标记单元112或第二标记单元113来采用对应的处理方式来添加样式切换标记,可以提高标记添加的准确性。本发明实施例通过在视图中添加样式切换标记,一方面可以排除不需要切换样式的视图,另一方面还能表明需要切换样式的视图需切换哪些展现的样式项目,例如:文本视图(Text View)的字体颜色、背景色或图片视图(Image View)的图片等项目中的至少一种。从而,可以让需要切换的视图以及需要切换的样式项目都能一目了然,有效减少在遍历所有视图时带来的不必要开销。
在本发明一个可选实施例中,如图8所示,所述视图样式切换模块13包括:
遍历单元131,用于遍历当前页面的视图,获取携带样式切换标记的视图;
确定单元132,用于将所述携带样式切换标记的视图确定为待切换样式的视图。
在遍历单元131具体实施遍历动作时,以所述当前页面的结构为树状结构为例,将从根视图开始遍历当前页面的所有视图。
由于树状结构是非常常见的一种页面构建体系,在所述体系中,一个视图对象定义了一个屏幕上的一个矩形区域,一个视图也可以作为其他视图的根视图,所述树状结构中的根视图对子视图有绝对的掌控权,每个子视图的占地面积和位置,都是基于根视图来分配的,它能够接受和处理的事件,也是根视图派发下去的,树状结构使整个页面结构更有层次性,每个视图只需要由其根视图负责指挥子视图,职责明确,逻辑简单,利于开发和设计。
遍历单元131通过遍历方式对全部视图进行逐个处理可以有效提升处理效率。对当前页面的所有视图的遍历时,可以采用的遍历方式有多种,例如:递归方式,其具体可以从根视图开始,以递归的方式遍历当前页面的所有视图,例如:视图的所有子视图,及子视图的子视图。而在本发明的另一个可选实施例中,也还可以通过诸如渲染期间保存所有视图引用方式并在遍历时通过视图引用来进行视图的遍历。此外,还可考虑采用的遍历方式包括:使用检视视图指定参数的方式进行视图的遍历;通过名字或标记的方式进行视图的遍历;通过传递参数的方式进行视图的遍历;通过用某个类型的所有脚本的方式进行视图的遍历;用过滤的构造函数FilteredElementCollector(doc,viewId)构造一个仅对指定视图中可见对象进行遍历的过滤器来实现遍历视图,在这种遍历方式中,加入条件OfClass(Typeof(FamilyInstance)),这个过滤条件找到在这个视图中出现的所有族实例,把可见的族实例的类型加入到一个List列表中,就可获得所有出现在这个视图中的族实例的类型列表,进而实现遍历。
本实施例通过遍历单元131在遍历时首先获取携带样式切换标记的视图,即可由确定单元132将所述携带样式切换标记的视图确定为待切换样式的视图,有助于快速判断所遍历到的视图是否需要进行切换,为后续的切换操作提供依据,减少后续步骤不必要的开销。
在本发明另一个可选实施例中,如图9所示,所述视图样式切换模块13还包括:
查询单元133,用于在所述待切换样式的视图的样式项目列表中查找所述待切换样式的视图,确定所述待切换样式的视图对应关联的待切换样式项目;
目标样式获取单元134,用于从所述目标背景主题的资源中获取所述待切换样式项目对应的目标样式并确定为所述待切换样式的视图的目标样式。
由于目标背景主题的资源中保存有大量的在所述目标背景主题下的各视图的各种样式,根据通过查询单元133在所述待切换样式的视图的样式项目列表中查询确定了待切换样式项目后,即可由目标样式获取单元134直接从目标背景主题的资源中获取所述待切换样式项目的目标样式,并将所述目标样式确定为所述待切换样式的视图的目标样式。
本实施例借助于预存的待切换样式的视图的样式项目列表以及已经切换的目标背景主题,可以快速地确定待切换样式的视图的目标样式,有利于快速进行后续的切换样式动作。
在本发明另一个可选实施例中,所述背景主题切换模块12还用于调用系统的背景主题设置功能,将背景主题设置为切换后的所述请求对应的目标背景主题。
系统都具有背景主题切换的功能,且背景主题切换的基本原理是:通过选定预先定义好的主题样式,改变页面当前引用的主题CSS文件,并且将当前的主题样式写入cookie中或者写入数据库中,从而在用户再次访问所述页面时,调用的就是之前设置好的主题样式。
本实施例通过背景主题切换模块12调用系统的背景主题设置功能来进行切换背景主题,所有的切换操作均在系统底层完成,效率非常高,将背景中的主题设置为目标背景主题,而可以很好地结合系统的部分主题切换功能生效,能更快捷地将背景中的主题设置为切换后的目标背景主题。
本发明实施例所述的功能如果以软件功能模块或单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。
Claims (10)
1.一种应用主题切换方法,其特征在于,包括:
预存应用的背景主题切换时待切换样式的视图的样式项目列表;
响应切换应用主题的请求,将应用的背景主题切换为所述请求对应的目标背景主题;
遍历当前页面的视图,确定待切换样式的视图,根据预存的所述目标背景主题切换时待切换样式的视图的样式项目列表,获取所述待切换样式的视图的目标样式,将待切换样式的视图的样式按照所述目标样式进行切换。
2.根据权利要求1所述的应用主题切换方法,其特征在于,所述预存应用的背景主题切换时待切换样式的视图的样式项目列表具体包括:
判断所述待切换样式的视图所采用的创建方式;
若所述待切换样式的视图通过自定义视图渲染的方式创建,重写布局填充器,在渲染视图时为待切换样式的视图添加样式切换标记并保存;
若所述待切换样式的视图通过构造对象的方式创建,为所述视图添加视图标签或者在派生类增加新成员变量,以所述视图标签或所述新成员变量作为所述待切换样式的视图的样式切换标记并保存。
3.根据权利要求2所述的应用主题切换方法,其特征在于,所述遍历当前页面的视图,确定待切换样式的视图具体包括:
遍历当前页面的视图,获取携带样式切换标记的视图;
将所述携带样式切换标记的视图确定为待切换样式的视图。
4.根据权利要求1所述的应用主题切换方法,其特征在于,所述根据预存的所述目标背景主题切换时待切换样式的视图的样式项目列表,获取所述待切换样式的视图的目标样式具体包括:
在所述待切换样式的视图的样式项目列表中查找所述待切换样式的视图,确定所述待切换样式的视图对应关联的待切换样式项目;
从所述目标背景主题的资源中获取所述待切换样式项目对应的目标样式并确定为所述待切换样式的视图的目标样式。
5.根据权利要求1所述的应用主题切换方法,其特征在于,所述将应用的背景主题切换为所述请求对应的目标背景主题具体包括:调用系统的背景主题设置功能,将背景主题设置为切换后的所述请求对应的目标背景主题。
6.一种应用主题切换装置,其特征在于,包括:
预存模块,用于预存应用的背景主题切换时待切换样式的视图的样式项目列表;
背景主题切换模块,用于响应切换应用主题的请求,将应用的背景主题切换为所述请求对应的目标背景主题;
视图样式切换模块,遍历当前页面的视图,确定待切换样式的视图,根据预存的所述目标背景主题切换时待切换样式的视图的样式项目列表,获取所述待切换样式的视图的目标样式,将待切换样式的视图的样式按照所述目标样式进行切换。
7.根据权利要求6所述的应用主题切换装置,其特征在于,所述预存模块具体包括:
判断单元,用于判断所述待切换样式的视图所采用的创建方式;
第一标记单元,用于若所述待切换样式的视图通过自定义视图渲染的方式创建,重写布局填充器,在渲染视图时为待切换样式的视图添加样式切换标记并保存;
第二标记单元,用于若所述待切换样式的视图通过构造对象的方式创建,为所述视图添加视图标签或者在派生类增加新成员变量,以所述视图标签或所述新成员变量作为所述待切换样式的视图的样式切换标记并保存。
8.根据权利要求7所述的应用主题切换装置,其特征在于,所述视图样式切换模块包括:
遍历单元,用于遍历当前页面的视图,获取携带样式切换标记的视图;
确定单元,用于将所述携带样式切换标记的视图确定为待切换样式的视图。
9.根据权利要求6所述的应用主题切换装置,其特征在于,所述视图样式切换模块包括:
查询单元,用于在所述待切换样式的视图的样式项目列表中查找所述待切换样式的视图,确定所述待切换样式的视图对应关联的待切换样式项目;
目标样式获取单元,用于从所述目标背景主题的资源中获取所述待切换样式项目对应的目标样式并确定为所述待切换样式的视图的目标样式。
10.根据权利要求6所述的应用主题切换装置,其特征在于,所述背景主题切换模块还用于调用系统的背景主题设置功能,将背景主题设置为切换后的所述请求对应的目标背景主题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610894472.5A CN106569885A (zh) | 2016-10-13 | 2016-10-13 | 应用主题切换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610894472.5A CN106569885A (zh) | 2016-10-13 | 2016-10-13 | 应用主题切换方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106569885A true CN106569885A (zh) | 2017-04-19 |
Family
ID=58532031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610894472.5A Pending CN106569885A (zh) | 2016-10-13 | 2016-10-13 | 应用主题切换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106569885A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542434A (zh) * | 2018-10-25 | 2019-03-29 | 深圳点猫科技有限公司 | 一种基于编程语言的主题动态切换方法及电子设备 |
CN110471738A (zh) * | 2019-08-22 | 2019-11-19 | 北京字节跳动网络技术有限公司 | 应用程序的主题切换方法、装置、电子设备及存储介质 |
CN111078221A (zh) * | 2019-12-30 | 2020-04-28 | 江苏满运软件科技有限公司 | 页面颜色主题的切换方法、装置、存储介质及电子设备 |
CN111104117A (zh) * | 2019-12-17 | 2020-05-05 | 深圳前海环融联易信息科技服务有限公司 | 页面主题风格切换方法、装置、电子设备及计算机存储介质 |
CN111625335A (zh) * | 2020-05-22 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种主题切换方法、系统、设备及计算机可读存储介质 |
CN112099790A (zh) * | 2020-09-10 | 2020-12-18 | 北京百度网讯科技有限公司 | 确定页面主题的方法、装置、设备以及存储介质 |
CN112269605A (zh) * | 2020-11-12 | 2021-01-26 | 北京百度网讯科技有限公司 | 一种皮肤更换方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779012A (zh) * | 2012-07-11 | 2012-11-14 | 广州市久邦数码科技有限公司 | 一种用于触摸屏设备的锁屏系统及其实现方法 |
CN103677640A (zh) * | 2013-12-16 | 2014-03-26 | 安徽科大讯飞信息科技股份有限公司 | 一种虚拟键盘自适应应用主题的方法及系统 |
CN104090749A (zh) * | 2014-05-30 | 2014-10-08 | 爱培科科技开发(深圳)有限公司 | 一种WinCE产品界面主题更新变换处理方法及系统 |
CN104216773A (zh) * | 2013-06-05 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 视图切换方法和装置 |
CN104571874A (zh) * | 2015-02-13 | 2015-04-29 | 上海触乐信息科技有限公司 | 动态切换键盘背景的方法和装置 |
CN105516823A (zh) * | 2014-09-24 | 2016-04-20 | Tcl集团股份有限公司 | 一种智能电视主题的定制方法和装置 |
CN105677774A (zh) * | 2015-12-30 | 2016-06-15 | 百度在线网络技术(北京)有限公司 | 一种数据事件推送方法和装置 |
-
2016
- 2016-10-13 CN CN201610894472.5A patent/CN106569885A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779012A (zh) * | 2012-07-11 | 2012-11-14 | 广州市久邦数码科技有限公司 | 一种用于触摸屏设备的锁屏系统及其实现方法 |
CN104216773A (zh) * | 2013-06-05 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 视图切换方法和装置 |
CN103677640A (zh) * | 2013-12-16 | 2014-03-26 | 安徽科大讯飞信息科技股份有限公司 | 一种虚拟键盘自适应应用主题的方法及系统 |
CN104090749A (zh) * | 2014-05-30 | 2014-10-08 | 爱培科科技开发(深圳)有限公司 | 一种WinCE产品界面主题更新变换处理方法及系统 |
CN105516823A (zh) * | 2014-09-24 | 2016-04-20 | Tcl集团股份有限公司 | 一种智能电视主题的定制方法和装置 |
CN104571874A (zh) * | 2015-02-13 | 2015-04-29 | 上海触乐信息科技有限公司 | 动态切换键盘背景的方法和装置 |
CN105677774A (zh) * | 2015-12-30 | 2016-06-15 | 百度在线网络技术(北京)有限公司 | 一种数据事件推送方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542434A (zh) * | 2018-10-25 | 2019-03-29 | 深圳点猫科技有限公司 | 一种基于编程语言的主题动态切换方法及电子设备 |
CN110471738A (zh) * | 2019-08-22 | 2019-11-19 | 北京字节跳动网络技术有限公司 | 应用程序的主题切换方法、装置、电子设备及存储介质 |
CN111104117A (zh) * | 2019-12-17 | 2020-05-05 | 深圳前海环融联易信息科技服务有限公司 | 页面主题风格切换方法、装置、电子设备及计算机存储介质 |
CN111078221A (zh) * | 2019-12-30 | 2020-04-28 | 江苏满运软件科技有限公司 | 页面颜色主题的切换方法、装置、存储介质及电子设备 |
CN111625335A (zh) * | 2020-05-22 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种主题切换方法、系统、设备及计算机可读存储介质 |
CN112099790A (zh) * | 2020-09-10 | 2020-12-18 | 北京百度网讯科技有限公司 | 确定页面主题的方法、装置、设备以及存储介质 |
CN112099790B (zh) * | 2020-09-10 | 2024-03-29 | 北京百度网讯科技有限公司 | 确定页面主题的方法、装置、设备以及存储介质 |
CN112269605A (zh) * | 2020-11-12 | 2021-01-26 | 北京百度网讯科技有限公司 | 一种皮肤更换方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569885A (zh) | 应用主题切换方法及装置 | |
Kastenholz et al. | Marketing the rural tourism experience | |
CN105184847B (zh) | 3d游戏渲染引擎的渲染方法 | |
US11383162B2 (en) | Voice skill game editing method, apparatus, device and readable storage medium | |
CN104133666B (zh) | 确定人工智能行为的方法、装置及人工智能服务器 | |
CN102902545B (zh) | 为动画化分解标记语言元素 | |
CN107391114A (zh) | 页面可视化渲染方法及装置 | |
CN105447902B (zh) | 动画处理方法和装置 | |
CN104216773B (zh) | 视图切换方法和装置 | |
CN105183566B (zh) | 3d游戏渲染引擎的资源管理方法 | |
US10783317B2 (en) | Generation of combined documents from content and layout documents based on semantically neutral elements | |
CN111078221B (zh) | 页面颜色主题的切换方法、装置、存储介质及电子设备 | |
CN106951451A (zh) | 一种网页内容提取方法、装置及计算设备 | |
CN110047123A (zh) | 一种地图渲染方法、装置、存储介质及计算机程序产品 | |
DE102013019333A1 (de) | Registerzuweisung für als cluster vorliegende mehrebenen-registerdaten | |
CN107003875A (zh) | 用于多操作系统的显示方法、装置和电子设备 | |
CN102346619A (zh) | 一种供用户进行ui定制的网络电视及定制方法 | |
CN112416334A (zh) | 一种页面配置方法、装置、设备及存储介质 | |
CN103902565B (zh) | 一种数据访问关系的确定方法及装置 | |
CN102074221A (zh) | 一种字符显示方法及装置 | |
Vakulenko et al. | Size regulation in the segmentation of Drosophila: interacting interfaces between localized domains of gene expression ensure robust spatial patterning | |
CN112988950B (zh) | 知识图谱的前端渲染方法及系统、电子设备、存储介质 | |
CN106844606A (zh) | 网页的焦点处理方法及装置 | |
CN110020291B (zh) | 网页布局的处理方法及装置 | |
CN110223215A (zh) | 一种图形渲染管线的控制方法、装置及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170419 |
|
WD01 | Invention patent application deemed withdrawn after publication |