CN106610828B - 基于Android系统的GIF动画播放方法及装置 - Google Patents

基于Android系统的GIF动画播放方法及装置 Download PDF

Info

Publication number
CN106610828B
CN106610828B CN201510698978.4A CN201510698978A CN106610828B CN 106610828 B CN106610828 B CN 106610828B CN 201510698978 A CN201510698978 A CN 201510698978A CN 106610828 B CN106610828 B CN 106610828B
Authority
CN
China
Prior art keywords
gif animation
android system
playing
gif
control
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.)
Active
Application number
CN201510698978.4A
Other languages
English (en)
Other versions
CN106610828A (zh
Inventor
高红军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN201510698978.4A priority Critical patent/CN106610828B/zh
Publication of CN106610828A publication Critical patent/CN106610828A/zh
Application granted granted Critical
Publication of CN106610828B publication Critical patent/CN106610828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提出一种基于Android系统的GIF动画播放方法及装置,不需要引入额外的第三方开源包,能够有效控制程序安装包的大小。所述方法包括调用Android系统movie类的duration函数,获取GIF动画的时长;如果获取的时长大于0,则使用继承于Android系统的图形基类View的GifView控件播放所述GIF动画资源;如果获取的时长小于或等于0,则将GIF动画资源嵌入到html源码中,使用继承于Android系统的网络视图组件WebView的GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,以实现GIF动画的播放。

Description

基于Android系统的GIF动画播放方法及装置
技术领域
本发明涉及计算机移动通信技术领域,具体而言,涉及一种基于Android系统的GIF动画播放方法及装置。
背景技术
GIF(Graphics Interchange Format,图像互换格式)分为静态GIF和动画GIF两种,扩展名为.gif,是一种压缩位图格式,支持透明背景图像,适用于多种操作系统,“体型”很小,网络上很多小动画都是GIF格式。其实GIF动画是将多幅图像保存为一个图像文件,从而形成动画,最常见的就是通过一帧帧的GIF图串联起来的GIF动画,所以归根到底GIF仍然是图片文件格式。
但是,Android系统中的图形基类view及其子类是不能通过设置drawable的方式播放GIF动画的,现有的实现GIF动画播放的应用(app)大都引用了第三方提供的开源包,这势必会增加程序安装包的大小。
因此,在Android系统中,如何在不显著增加程序安装包大小的基础上还能够实现GIF动画的播放,成为现在亟待解决的问题。
发明内容
本发明的目的在于提供一种基于Android系统的GIF动画播放方法及装置以解决现有技术中引用第三方提供的开源包增加程序安装包大小的问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种基于Android系统的GIF动画播放方法,包括:调用Android系统movie类的duration函数,获取GIF动画的时长;如果获取的时长大于0,则使用继承于Android系统的图形基类View的GifView控件播放所述GIF动画资源;如果获取的时长小于或等于0,则将所述GIF动画资源嵌入到html源码中,使用继承于Android系统的网络视图组件WebView的GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,以实现GIF动画的播放。
进一步的,所述获取GIF动画的时长之前可以包括:分别创建继承于Android系统的图形基类View的GifView控件以及继承于Android系统的网络视图组件WebView的GifWebView控件。
进一步的,所述使用继承于Android系统的图形基类View的GifView控件播放所述GIF动画资源,可以包括:将待显示的动画帧数对应的画面渲染到播放所述GIF动画资源的图形容器中。
进一步的,所述使用继承于Android系统的图形基类View的GifView控件播放所述GIF动画资源,还可以包括:根据所述GifView控件展示的区域,对所述图形容器进行缩小或放大处理。
进一步的,所述获取GIF动画的时长之前,还可以包括:将所述GIF动画的开始播放时间T2初始化为0;将所述Android系统的当前运行时间T1赋值给所述GIF动画的开始播放时间T2。
进一步的,所述将GIF动画资源嵌入到html源码中,可以包括:将所述GIF动画资源的读取路径,所述GIF动画资源的播放宽度以及播放高度嵌入到html源码中。
第二方面,本发明实施例还提供了一种基于Android系统的GIF动画播放装置,运行于安装有Android系统的终端设备,所述装置包括:调用模块、第一播放模块、第二播放模块:所述调用模块用于调用Android系统movie类的duration函数,获取GIF动画的时长;如果获取的时长大于0,所述第一播放模块用于使用继承于Android系统的图形基类View的GifView控件播放所述GIF动画资源;如果获取的时长小于或等于0,所述第二播放模块用于将所述GIF动画资源嵌入到html源码中,使用继承于Android系统的网络视图组件WebView的GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,以实现GIF动画的播放。
进一步的,所述装置还可以包括创建模块,用于分别创建继承于Android系统的图形基类View的GifView控件以及继承于Android系统的网络视图组件WebView的GifWebView控件。
进一步的,所述第一播放模块可以包括:渲染单元,用于将待显示的动画帧数T4对应的画面渲染到播放所述GIF动画资源的图形容器中。
进一步的,所述第一播放模块还可以包括:缩放单元,用于根据所述GifView控件展示的区域,对所述图形容器进行缩小或放大处理。
进一步的,所述装置还可以包括:初始化模块,用于如果所述GIF动画的开始播放时间T2为0,将所述Android系统的当前运行时间T1赋值给所述GIF动画的开始播放时间T2。
进一步的,所述第二播放模块还可以用于:将所述GIF动画资源的读取路径,所述GIF动画资源的播放宽度以及播放高度嵌入到html源码中。
本发明实施例提供的基于Android系统的GIF动画播放方法和装置,当获取的动画时长大于0时,也就是可以使用GifView控件正常播放时,使用GifView控件播放所述GIF动画资源,内存消耗较小,当获取的动画时长小于或等于0时,也就是使用GifView控件无法播放时,使用GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,这样可以保证GIF动画能够继续正常播放。本发明实施例提供的基于Android系统的GIF动画播放方法和装置,一方面可以基于Android系统原生工具实现GIF动画播放,不需要引入额外的第三方提供的开源包,有效控制了程序安装包的大小,实现在不显著增加程序安装包大小的基础上实现GIF动画的正常播放,另一方面,利用GifView控件和GifWebView控件优势互补的实现了较好的GIF动画播放效果。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的用户终端的结构框图;
图2示出了本发明第一实施例提供的一种基于Android系统的GIF动画播放方法的流程示意图;
图3示出了本发明第二实施例提供的一种基于Android系统的GIF动画播放方法在另一种情况下的流程示意图;
图4示出了本发明第三实施例提供的一种基于Android系统的GIF动画播放装置的结构框图;
图5示出了本发明第三实施例提供的一种基于Android系统的GIF动画播放装置中部分模块的结构框图;
图6示出了本发明第四实施例提供的一种基于Android系统的GIF动画播放装置的结构框图。
具体实施方式
本发明实施例所提供的基于Android系统的GIF动画播放方法及装置可应用于如图1所示的终端设备100中终端设备100。于本发明实施例中,终端设备100优选为安装有Android系统移动终端设备,例如可以包括智能手机、平板电脑、电子书阅读器、膝上型便携计算机、车载电脑、穿戴式移动终端等等。
图1示出了一种可应用于本发明实施例中的用户终端的结构框图。如图1所示,终端设备100包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理器106、外设接口108、射频模块110、音频模块112、触控屏幕114等。这些组件通过一条或多条通讯总线/信号线116相互通讯。
存储器102可用于存储软件程序以及模块,如本发明实施例中的基于Android系统的GIF动画播放方法及装置对应的程序指令/模块,处理器106通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的基于Android系统的GIF动画播放方法。
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
外设接口108将各种输入/输入装置耦合至处理器106以及存储器102。在一些实施例中,外设接口108,处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。
音频模块112向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
触控屏幕114在终端设备100与用户之间同时提供一个输出及输入界面。
可以理解,图1所示的结构仅为示意,终端设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例提出的基于Android系统的GIF动画播放方法和装置,提供了一种基于Android系统原生工具实现GIF动画播放的方案,不需要引入额外的第三方提供的开源包,可以有效控制程序安装包的大小。
在发明实施例提供的方案中,创建了两个控件,一个是继承于Android系统的图形基类View的GifView控件,另一个是继承于Android系统的网络视图组件WebView的GifWebView控件,并将这两个控件结合使用。利用GifView控件和GifWebView控件优势互补的实现了较好的GIF动画播放效果。
具体的,在本发明实施例中,利用Android系统提供的原生工具movie类,将movie类与Android系统中的图形基类view结合在一起。自定义GifView控件继承于View,将movie对象以组合的方式添加到GifView中,以时间轴为依据,通过自绘的方式可以实现GIF动画播放。使用GifView控件实现GIF动画的播放内存消耗较小,但是在处理不同编码格式的GIF图片时,这种方法存在一些兼容性的问题,会导致GIF动画无法播放。
Android系统还提供了原生的工具网络视图组件WebView,构建继承于网络视图组件WebView的GifWebView控件,通过加载html页面的形式实现GIF动画播放。在加载html页面前,将GIF动画资源嵌入到一段html源码中。使用GifWebView控件播放GIF动画,几乎不存在播放的情况,但是内存开销比较大,特别是播放多个GIF动画时,比较容易出现OutOfMemory(内存不足)的异常情况。
本发明实施例提供的方案中,只有在当通过调用Android系统movie类的duration函数获取的动画时长(也就是动画的总时长)小于或等于0时,也就是获取失败、使用GifView控件无法播放时,才使用GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,这样可以既可以保证GIF动画能够正常播放,又不会过多的消耗内存。
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一实施例
图2示出了本发明第一实施例提供的一种基于Android系统的GIF动画播放方法的流程图,请参阅图2,所述方法包括:
步骤S110,调用Android系统movie类的duration函数,获取GIF动画的时长;
如果获取的时长大于0,则执行步骤S120,使用继承于Android系统的图形基类View的GifView控件播放所述GIF动画资源;
如果获取的时长小于或等于0,则执行步骤S130,将所述GIF动画资源嵌入到html源码中,使用继承于Android系统的网络视图组件WebView的GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,以实现GIF动画的播放。
具体的,在步骤S120中,可以将待显示的动画帧数对应的画面渲染到播放所述GIF动画资源的图形容器中。
根据所述GifView控件展示的区域,对所述图形容器进行缩小或放大处理。
在步骤S130中,利用继承于Android系统的网络视图组件WebView的GifWebView控件播放GIF动画。创建继承于Android系统的网络视图组件WebView的GifWebView控件,通过加载html页面的形式实现GIF动画播放。
在加载html页面前,需要将所述GIF动画资源的读取路径,所述GIF动画资源的播放宽度以及播放高度嵌入到一段html源码中,使用GifWebView加载该段html源码的方式,从而达到播放GIF动画的目的。
该段html源码可以如下所示:
Figure GDA0002731474080000071
其中,$path为所述GIF动画资源的读取路径,$width为GIF动画资源的播放宽度,$height为GIF动画资源的播放高度。
本实施例提供的基于Android系统的GIF动画播放方法,当获取的动画时长大于0时,也就是可以使用GifView控件正常播放时,使用GifView控件播放所述GIF动画资源,内存消耗较小,当获取的动画时长小于或等于0时,也就是使用GifView控件无法播放时,使用GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,这样可以保证GIF动画能够继续正常播放。一方面可以基于Android系统原生工具实现GIF动画播放,不需要引入额外的第三方提供的开源包,有效控制了程序安装包的大小,实现在不显著增加程序安装包大小的基础上实现GIF动画的正常播放,另一方面,利用GifView控件和GifWebView控件优势互补的实现了较好的GIF动画播放效果。
第二实施例
图3示出了本发明第二实施例提供的一种基于Android系统的GIF动画播放方法的流程图。请参阅图3,所述方法包括:
步骤S210,获取终端设备的Android系统的当前运行时间T1;
步骤S220,判断GIF动画的开始播放时间T2是否小于或等于0,如果小于或等于0,则执行步骤S230后再执行步骤S240,否则,直接执行步骤S240;
步骤S230,将所述Android系统的当前运行时间T1赋值给所述GIF动画的开始播放时间T2;
开始播放时间T2小于或等于0,也就是待显示的动画帧数T4为1,将系统的当前运行时间T1赋值给T2,记录开始播放时间,完成初始化。
步骤S240,调用Android系统movie类的duration函数,获取GIF动画的时长T3;如果获取的时长小于或等于0,则执行步骤S290。
步骤S290,将GIF动画资源嵌入到html源码中,使用继承于Android系统的网络视图组件WebView的GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,以实现GIF动画的播放。
在使用GifWebView控件前先将GifView控件由Android系统的控件树上移除,再将GifWebView控件添加到控件树上。
需要说明的是,步骤S250至步骤S280实质上就是在使用GifView控件播放所述GIF动画资源的过程。
由于获取的时长T3小于或等于0,也就是获取失败的情况,通常发生在第一次获取时长时,这种情况下,采用GifWebView控件播放GIF动画可以避免播放失败;一旦获取成功,获取的时长T3就是一个大于0的固定值,这种情况下,使用GifView控件播放GIF动画资源,可以减小内存消耗。
第三实施例
图4示出了本发明第三实施例提供的一种基于Android系统的GIF动画播放装置的结构框图,请参阅图4,本实施例中的装置可运行于终端设备100,本实施例中的装置30包括:调用模块31、第一播放模块32、第二播放模块33。
其中,所述调用模块31用于获取GIF动画的时长;
如果获取的时长大于0,所述第一播放模块32用于使用继承于Android系统的图形基类View的GifView控件播放所述GIF动画资源;
如果获取的时长小于或等于0,所述第二播放模块33用于将所述GIF动画资源嵌入到html源码中,使用继承于Android系统的网络视图组件WebView的GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,以实现GIF动画的播放。
请参照图5,所述第一播放模块32,包括:
计算单元321,用于计算待显示的动画帧数T4,;
渲染单元322,用于将所述待显示的动画帧数T4对应的画面渲染到播放所述GIF动画资源的图形容器中。
第一播放模块32还可以包括缩放单元323,用于根据所述GifView控件展示的区域,对所述图形容器进行缩小或放大处理。
所述第二播放模块33还可以用于:将所述GIF动画资源的读取路径,所述GIF动画资源的播放宽度以及播放高度嵌入到html源码中。
第四实施例
图6示出了本发明第四实施例提供的基于Android系统的GIF动画播放装置的结构框图,请参照图6,本实施例中的装置可运行于终端设备100,本实施例中的装置40包括:创建模块41、初始化模块42、调用模块31、第一播放模块32、第二播放模块33。
所述创建模块41用于分别创建继承于Android系统的图形基类View的GifView控件以及继承于Android系统的网络视图组件WebView的GifWebView控件;
所述初始化模块42用于如果所述GIF动画的开始播放时间T2为0,将所述Android系统的当前运行时间T1赋值给所述GIF动画的开始播放时间T2;
所述调用模块31用于获取GIF动画的时长;
如果获取的时长大于0,所述第一播放模块32用于使用继承于Android系统的图形基类View的GifView控件播放所述GIF动画资源;
如果获取的时长小于或等于0,所述第二播放模块33用于将所述GIF动画资源嵌入到html源码中,使用继承于Android系统的网络视图组件WebView的GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,以实现GIF动画的播放。
本实施例中的各单元可以是由软件代码实现,此时,上述的各单元可存储于终端设备100的存储器102内。以上各单元同样可以由硬件例如集成电路芯片实现。
综上所述,本发明实施例提供的基于Android系统的GIF动画播放方法和装置,当获取的动画时长大于0时,也就是可以使用GifView控件正常播放时,使用GifView控件播放所述GIF动画资源,内存消耗较小,当获取的动画时长小于或等于0时,也就是使用GifView控件无法播放时,使用GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,这样可以保证GIF动画能够继续正常播放。本发明实施例提供的基于Android系统的GIF动画播放方法和装置,一方面可以基于Android系统原生工具实现GIF动画播放,不需要引入额外的第三方提供的开源包,有效控制了程序安装包的大小,实现在不显著增加程序安装包大小的基础上实现GIF动画的正常播放,另一方面,利用GifView控件和GifWebView控件优势互补的实现了较好的GIF动画播放效果。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例所提供的基于Android系统的GIF动画播放装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
另外,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

Claims (8)

1.一种基于Android系统的GIF动画播放方法,其特征在于,所述方法包括:
分别创建继承于Android系统的图形基类View的GifView控件以及继承于Android系统的网络视图组件WebView的GifWebView控件;
调用Android系统movie类的duration函数,获取GIF动画的时长;
如果获取的时长大于0,则使用继承于Android系统的图形基类View的GifView控件播放所述GIF动画资源;
如果获取的时长小于或等于0,则将GIF动画资源嵌入到html源码中,使用继承于Android系统的网络视图组件WebView的GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,以实现GIF动画的播放。
2.如权利要求1所述的方法,其特征在于,所述使用继承于Android系统的图形基类View的GifView控件播放所述GIF动画资源,包括:
根据所述GifView控件展示的区域,对图形容器进行缩小或放大处理。
3.如权利要求1所述的方法,其特征在于,所述获取GIF动画的时长之前,还包括:
将所述GIF动画的开始播放时间初始化为0;
将所述Android系统的当前运行时间赋值给所述GIF动画的开始播放时间。
4.如权利要求1所述的方法,其特征在于,所述将GIF动画资源嵌入到html源码中,包括:
将所述GIF动画资源的读取路径,所述GIF动画资源的播放宽度以及播放高度嵌入到html源码中。
5.一种基于Android系统的GIF动画播放装置,运行于安装有Android系统的终端设备,其特征在于,所述装置包括:创建模块、调用模块、第一播放模块、第二播放模块:
所述创建模块用于分别创建继承于Android系统的图形基类View的GifView控件以及继承于Android系统的网络视图组件WebView的GifWebView控件;
所述调用模块用于调用Android系统movie类的duration函数,获取GIF动画的时长;
如果获取的时长大于0,所述第一播放模块用于使用继承于Android系统的图形基类View的GifView控件播放所述GIF动画资源;
如果获取的时长小于或等于0,所述第二播放模块用于将所述GIF动画资源嵌入到html源码中,使用继承于Android系统的网络视图组件WebView的GifWebView控件加载嵌入有所述GIF动画资源的所述html源码,以实现GIF动画的播放。
6.如权利要求5所述的装置,其特征在于,所述第一播放模块包括:
缩放单元,用于根据所述GifView控件展示的区域,对图形容器进行缩小或放大处理。
7.如权利要求5所述的装置,其特征在于,所述装置还包括:
初始化模块,用于如果所述GIF动画的开始播放时间为0,将所述Android系统的当前运行时间赋值给所述GIF动画的开始播放时间。
8.如权利要求5所述的装置,其特征在于,所述第二播放模块还用于:
将所述GIF动画资源的读取路径,所述GIF动画资源的播放宽度以及播放高度嵌入到html源码中。
CN201510698978.4A 2015-10-21 2015-10-21 基于Android系统的GIF动画播放方法及装置 Active CN106610828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510698978.4A CN106610828B (zh) 2015-10-21 2015-10-21 基于Android系统的GIF动画播放方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510698978.4A CN106610828B (zh) 2015-10-21 2015-10-21 基于Android系统的GIF动画播放方法及装置

Publications (2)

Publication Number Publication Date
CN106610828A CN106610828A (zh) 2017-05-03
CN106610828B true CN106610828B (zh) 2021-02-02

Family

ID=58613157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510698978.4A Active CN106610828B (zh) 2015-10-21 2015-10-21 基于Android系统的GIF动画播放方法及装置

Country Status (1)

Country Link
CN (1) CN106610828B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577499B (zh) * 2017-09-25 2021-06-04 阿里巴巴(中国)有限公司 一种对多个视图执行不同属性动画的实现方法
CN108845777B (zh) * 2018-06-11 2021-07-02 广州酷狗计算机科技有限公司 播放帧动画的方法和装置
CN113838167A (zh) * 2020-06-22 2021-12-24 北京字节跳动网络技术有限公司 用于生成动画的方法和装置
CN114721759B (zh) * 2022-03-31 2023-11-24 珠海豹趣科技有限公司 Android桌面视图展示方法、装置及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268917A (zh) * 2014-09-28 2015-01-07 厦门幻世网络科技有限公司 一种将3d动画转化为gif动态图的方法及其装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8490025B2 (en) * 2008-02-01 2013-07-16 Gabriel Jakobson Displaying content associated with electronic mapping systems
CN102314701A (zh) * 2011-06-28 2012-01-11 北京新媒传信科技有限公司 移动设备中实时播放gif动画的方法及装置
CN103544048A (zh) * 2013-10-31 2014-01-29 Tcl集团股份有限公司 一种Androd系统开机动画显示方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268917A (zh) * 2014-09-28 2015-01-07 厦门幻世网络科技有限公司 一种将3d动画转化为gif动态图的方法及其装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Movie类播放Gif动画";原始人工作室;《煮酒论Android》;20140831;第303-307页 *

Also Published As

Publication number Publication date
CN106610828A (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
EP3754490B1 (en) User interface rendering method and apparatus, and terminal
CN108282686B (zh) 视频画面处理方法、装置及电子设备
CN107925749B (zh) 用于调整电子设备的分辨率的方法和设备
CN104869305B (zh) 处理图像数据的方法及其装置
CN106610828B (zh) 基于Android系统的GIF动画播放方法及装置
US9888061B2 (en) Method for organizing home screen and electronic device implementing the same
US9965822B2 (en) Electronic device and method for processing a plurality of image pieces
US10834424B2 (en) Method and device for compressing image, and electronic device
CN110888521B (zh) 一种移动终端及其运行应用程序的方法
CN107818008B (zh) 页面加载方法及装置
US10347221B2 (en) Electronic device and method for controlling display thereof
CN110070496B (zh) 图像特效的生成方法、装置和硬件装置
CN108961267B (zh) 图片处理方法、图片处理装置及终端设备
JP6882992B2 (ja) 動画像をプレビューする方法及びデバイス、並びに表現パッケージを表示する方法及びデバイス
US20170235473A1 (en) Method and Apparatus for Loading Application Program View, and Electronic Terminal
CN109857573B (zh) 一种数据共享方法、装置、设备及系统
CN105677259A (zh) 一种移动终端中存储文件的方法及移动终端
US20190107929A1 (en) Method and device for loading content of page, and electronic device
CN108966315B (zh) 无线网络获取方法、装置及电子设备
KR20160059252A (ko) 인텐트 처리 방법 및 그 전자 장치
CN110968373A (zh) 一种页面切换的实现方法、装置、存储介质及处理器
CN105573705A (zh) 一种显示控制方法及终端
CN112328351A (zh) 动画显示方法、动画显示装置及终端设备
CN112035204A (zh) 一种用于安卓系统的壁纸自定义方法、系统、终端及介质
CN107608947B (zh) Html文件处理方法及装置、电子设备

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
TA01 Transfer of patent application right

Effective date of registration: 20200416

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping B radio 14 floor tower square

Applicant before: GUANGZHOU UCWEB COMPUTER TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant