具体实施方式
下面结合附图,对本发明实施例提供的处理应用显示界面的方法及装置的具体实施方式进行详细地说明。
实施例一
本发明实施例提供的一种处理应用显示界面的方法,如图1所示,具体包括以下步骤:
步骤101、接收运行终端所安装应用的指令,确定终端预定位置处是否存在所述应用对应的第一显示动画包;
步骤102、当终端预定位置处存在第一显示动画包时,加载该第一显示动画包;
步骤103、当终端预定位置处不存在第一显示动画包时,加载所述应用内自带的第二显示动画包;
步骤104、根据传入的动态场景的标识ID,控制所述应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的所述ID对应的显示动画。
本发明实施例,接收运行终端所安装应用的指令后,当终端预定位置处存在第一显示动画包时,加载第一显示动画包,而在终端预定位置处不存在第一显示动画包时,则加载应用内自带的第二显示动画包,之后,根据传入的动态场景的标识ID来控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的所述ID对应的显示动画,使得应用显示界面所显示的动画可以是终端预定位置处存储的第一显示动画包内的动画,也可以是应用自身携带的第二显示动画包内的动画,从而增加了应用显示界面所显示动画的多样性,并且配合终端预定位置处的第一显示动画包,增加了应用显示界面可显示动画的数量。另外,根据传入的动态场景的标识ID来控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的所述ID对应的显示动画,可以使得在动态场景一样的情况下,应用显示界面所显示的应用场景的动画效果可能是不同的,增加了应用显示界面的灵活性,进而可以避免用户产生视觉疲劳,提高用户使用体验。
实施例二
本发明实施例提供了一种处理应用显示界面的方法,该方法的执行主体可以是终端(如手机、平板电脑等移动终端)的处理器。下面将结合具体的实施方式对图1所示的处理流程进行详细的阐述,如图2所示,具体操作步骤可以如下所示:
步骤201、进行预处理,生成应用对应的第一显示动画包,并在终端预定位置处存储所生成的第一显示动画包,该第一显示动画包内描述有不同动态场景的标识ID对应的显示动画;
在对本步骤进行具体说明之前,先简单的介绍一下本实例中由终端操作系统所提供的百变框架技术,这里,百变框架是一种针对图像处理的开放平台,可以向第三方(包括用户个人或第三方开发商)提供公开的API(ApplicationProgramming Interface,应用程序编程接口),第三方可以根据该API来编写有关图像处理的XML(Extensible Markup Language,可扩展标记语言)描述文件,如第三方基于该API编写描述不同动态场景的标识ID(IDentity)对应的显示动画的XML文件,而终端操作系统可以通过百变框架提供的API加载调用及解析第三方所编写的描述显示动画的XML描述文件。那么,基于该百变框架,终端所安装的应用就可以支持第三方所提供的显示动画。
基于上述有关百变框架的描述,本实例在生成应用对应的第一显示动画包,并在终端预定位置处存储所生成的第一显示动画包的实现可以包括:
向用户提供预定的应用程序编程接口API,由用户根据所述API编写描述不同动态场景的标识ID对应的显示动画的XML描述文件;
将用户所编写的XML描述文件打包生成预定后缀名的第一显示动画包,并将该生成的第一显示动画包存储至终端预定位置处,具体地,可以将第一显示动画包放入到终端预定位置中的定制文件夹内。
本实例所述的动态场景可以包括如天气状态在内的场景,以下就以动态场景为天气状态为例来详细说明应用对应的第一显示动画包的生成过程:
预先定义天气状态与其标识ID间对应关系,具体实现可以如下所示:
天气状态id:
<array name="weather_image">
<item>晴</item>0
<item>多云</item>1
<item>阴</item>2
<item>雾</item>3
<item>特大暴雨</item>4
<item>大暴雨</item>5
<item>暴雨</item>6
<item>雷阵雨</item>7
<item>阵雨</item>8
<item>大雨</item>9
<item>中雨</item>0
<item>小雨</item>1
<item>雨夹雪</item>2
<item>暴雪</item>3
<item>阵雪</item>4
<item>大雪</item>5
<item>中雪</item>6
<item>小雪</item>7
<item>强沙尘暴</item>8
<item>沙尘暴</item>9
<item>沙尘</item>0
<item>扬沙</item>1
<item>冰雹</item>2
<item>浮尘</item>3
<item>霾</item>4
</array>
之后,基于上述定义的天气状态的ID,就可以根据所提供的预定的API接口来编写相应的天气状态的ID对应的显示动画的XML文件,下面给出“霾”对应的显示动画的XML文件的示例:
霾对应的显示动画:
而其他天气状态的ID对应的显示动画的XML文件可以参考上例进行编写,此处就不再赘述。
在根据预定的API(Group name="ani_haze"visibility="eq(#weather_id,24)")完成对上述定义的各类天气状态的ID对应的显示动画的XML文件的编写后,将编写的各类天气状态的ID对应的显示动画的XML描述文件打包生成预定后缀名的第一显示动画包,并将其存储在终端的预定位置处定制文件夹内,这里,终端通过相应的解析器可以对所存储的第一显示动画包进行解析。
步骤202、接收运行终端所安装应用的指令,确定终端预定位置处是否存在应用对应的第一显示动画包;
当终端预定位置处存在应用对应的第一显示动画包时,执行步骤203;
当终端预定位置处不存在应用对应的第一显示动画包时,执行步骤204;
步骤203、加载所述第一显示动画包,执行步骤205;
步骤204、加载应用内自带的第二显示动画包,同样的,该第二显示动画包内描述有不同动态场景的标识ID对应的显示动画,执行步骤205;
步骤205、根据传入的动态场景的标识ID,控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的所述ID对应的显示动画;
这里,当传入的动态场景为天气状态时,根据传入的动态场景的标识ID,控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的所述ID对应的显示动画可以包括:
从网络侧获取当前的天气状态,查找天气状态与标识ID间对应关系,得到当前的天气状态对应的标识ID;
将查找到的标识ID传入所加载的第一显示动画包或第二显示动画包;
将第一显示动画包或第二显示动画包内描述的与查找到的ID对应的显示动画进行渲染显示。
本实例中,将所述第一显示动画包或第二显示动画包内描述的与查找到的ID对应的显示动画进行渲染显示可以包括:
调用第一显示动画包或第二显示动画包内与查找到的ID对应的预先设置的背景图片;
调用第一显示动画包或第二显示动画包内与查找到的ID对应的虚拟屏幕元素,其中,所述虚拟屏幕元素包括渲染的一个或多个界面元素;
将所述背景图片及所述虚拟屏幕元素进行渲染显示,本实例在具体实现时,可以将所述虚拟屏幕元素封装成图片,并将封装到的图片渲染叠加到所述背景图片上,之后,将叠加生成的图片渲染显示。
本发明实施例在加载完成第一显示动画包或第二显示动画包后,生成视图对象MiAdvancedView,之后,根据所传入的动态场景的ID来控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的所述ID对应的显示动画,而在具体实现时,当天气状态发生变化,检测到有新的动态场景的标识ID传入时,MiAdvancedView会控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的新的标识ID对应的显示动画。
本发明实施例在具体实现时,接收运行终端所安装应用的指令后,当终端预定位置处存在第一显示动画包时,加载第一显示动画包,而在终端预定位置处不存在第一显示动画包时,则加载应用内自带的第二显示动画包,之后,根据传入的动态场景的标识ID来控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的所述ID对应的显示动画,使得应用显示界面所显示的动画可以是终端预定位置处存储的第一显示动画包内的动画,也可以是应用自身携带的第二显示动画包内的动画,从而增加了应用显示界面所显示动画的多样性,沿用上例,应用自身所携带的天气动画包内定义的“阴天”状态对应的显示动画为“灰色的天空”,用户想要用“乌云浮动”的动画效果来表现“阴天”,就可以在终端预定位置处存储的第一显示动画包内定义该“阴天”的显示动画为“乌云浮动”,这样就可以在运行天气应用时,加载第一显示动画包,那么,在传入的动态场景为“阴天”时,就可以实现“乌云浮动”的动画效果,而无需等待应用升级实现,并且配合终端预定位置处的第一显示动画包,增加了应用显示界面可显示动画的数量。另外,根据传入的动态场景的标识ID来控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的所述ID对应的显示动画,可以使得在动态场景一样的情况下,应用显示界面所显示的应用场景的动画效果可能是不同的,增加了应用显示界面的灵活性,依然沿用上例,当传入的是“晴天”状态时,如果当前应用加载的是终端预定位置处的第一显示动画包,而该第一显示动画包内定义的“晴天”的显示动画为“蓝天白云太阳”,则显示界面将显示“蓝天白云太阳”的动画效果,如果当前应用加载的是应用自身携带的第二显示动画包,而该第二显示动画包内定义的“晴天”的显示动画为“蓝天白云”,则显示界面将显示“蓝天白云”的动画效果,增加界面显示的灵活性,进而可以避免用户产生视觉疲劳,提高用户使用体验。
实施例三
基于同一发明构思,本发明实施例还提供了一种处理应用显示界面的装置,由于该装置解决问题的原理与前述一种处理应用显示界面的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
本发明实施例提供的一种处理应用显示界面的装置,如图3所示,所述装置可以包括:
确定模块301,用于接收运行终端所安装应用的指令,确定终端预定位置处是否存在应用对应的第一显示动画包;
第一加载模块302,用于当终端预定位置处存在第一显示动画包时,加载第一显示动画包;
第二加载模块303,用于当终端预定位置处不存在第一显示动画包时,加载应用内自带的第二显示动画包;
控制显示模块304,用于根据传入的动态场景的标识ID,控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的所述ID对应的显示动画。
优选地,参见图4,本发明实施例如图3所示的装置还可以包括:
接口开放调用模块305,用于向用户提供预定的应用程序编程接口API,由用户根据所述API编写描述不同动态场景的标识ID对应的显示动画的可扩展标记语言XML描述文件;
文件打包存储模块306,用于将所述XML描述文件打包生成预定后缀名的第一显示动画包,并将第一显示动画包存储至终端预定位置处。
优选地,本实例中所述的动态场景为天气状态。
优选地,参见图5,本发明实施例所示的控制显示模块304可以包括:
获取单元3041,用于从网络侧获取当前的天气状态,查找天气状态与标识ID间对应关系,得到当前的天气状态对应的标识ID;
参数传输接口3042,用于将查找到的标识ID传入所加载的第一显示动画包或第二显示动画包;
控制显示单元3043,用于将第一显示动画包或第二显示动画包内描述的与查找到的ID对应的显示动画进行渲染显示。
优选地,本发明实施例所述的控制显示单元3043可以包括:
第一调用子单元,用于调用所述第一显示动画包或第二显示动画包内与查找到的ID对应的预先设置的背景图片;
第二调用子单元,用于调用所述第一显示动画包或第二显示动画包内与查找到的ID对应的虚拟屏幕元素,其中,所述虚拟屏幕元素包括渲染的一个或多个界面元素;
显示子单元,用于将所述背景图片及所述虚拟屏幕元素进行渲染显示。
优选地,参见图6,本发明实施例如图3所示的装置还包括:
更新显示模块307,用于当检测到有新的动态场景的标识ID传入时,控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的新的标识ID对应的显示动画。
本实施例中,接收运行终端所安装应用的指令后,当终端预定位置处存在第一显示动画包时,加载第一显示动画包,而在终端预定位置处不存在第一显示动画包时,则加载应用内自带的第二显示动画包,之后,根据传入的动态场景的标识ID来控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的所述ID对应的显示动画,使得应用显示界面所显示的动画可以是终端预定位置处存储的第一显示动画包内的动画,也可以是应用自身携带的第二显示动画包内的动画,从而增加了应用显示界面所显示动画的多样性,沿用上例,应用自身所携带的天气动画包内定义的“阴天”状态对应的显示动画为“灰色的天空”,用户想要用“乌云浮动”的动画效果来表现“阴天”,就可以在终端预定位置处存储的第一显示动画包内定义该“阴天”的显示动画为“乌云浮动”,这样就可以在运行天气应用时,加载第一显示动画包,那么,在传入的动态场景为“阴天”时,就可以实现“乌云浮动”的动画效果,而无需等待应用升级实现,并且配合终端预定位置处的第一显示动画包,增加了应用显示界面可显示动画的数量。另外,根据传入的动态场景的标识ID来控制应用的显示界面显示所加载的第一显示动画包或第二显示动画包内描述的所述ID对应的显示动画,可以使得在动态场景一样的情况下,应用显示界面所显示的应用场景的动画效果可能是不同的,增加了应用显示界面的灵活性,依然沿用上例,当传入的是“晴天”状态时,如果当前应用加载的是终端预定位置处的第一显示动画包,而该第一显示动画包内定义的“晴天”的显示动画为“蓝天白云太阳”,则显示界面将显示“蓝天白云太阳”的动画效果,如果当前应用加载的是应用自身携带的第二显示动画包,而该第二显示动画包内定义的“晴天”的显示动画为“蓝天白云”,则显示界面将显示“蓝天白云”的动画效果,增加界面显示的灵活性,进而可以避免用户产生视觉疲劳,提高用户使用体验。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。