加载GIF动态图

转载:http://blog.csdn.net/longer__/article/details/67636456


最近因为项目中需要用到gif动态图片,而android目前还不支持gif动态图片的加载,所以搜索了网上已有的第三方自定义控件,帮助实现加载gif图片。 

第一种是使用gifView: 
demo的介绍和下载地址: 
http://code.google.com/p/gifview/ 
在google上下载demo和.jar包,但是目前google被屏蔽了,需要翻墙才能下载。 
首先需要导入.jar包到你的工程里。 把下载的.jar包文件copy到工程libs文件夹里,然后右键点击add as library就可以了。 
其次在对应的layout布局文件里添加这个自定义GifView。如下面的代码所示。 
     <com.ant.liao.GifView
    android:id="@+id/gif1" 
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:paddingRight="14px" android:enabled="false" />
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

” 
最后在对应页面.class文件的程序中配置上gif图片。需要的gif图片提前放到res/drawable里。如下图代码所示: 
”gf1.setGifImage(R.drawable.gif1);“ 
这样也就全部完成了,很完美,前人栽树后人乘凉。但是马上问题就来了,多次进入这个放有gif动画的页面,很容易OOM。要解决这个OOM,还需要添加一个C语言开发的什么鬼,反正挺麻烦的,导致我直接放弃这个方法。 
第二种就是使用android-gif-drawable 
demo的介绍和下载地址: 
https://github.com/koral–/android-gif-drawable 
这个更加方便,只需要两个步骤。 
首先添加引用文件 
不需要再下载.jar包,只需要的app的build.gradle里添加 
dependencies { 
compile ‘pl.droidsonroids.gif:android-gif-drawable:1.2.6’ 

其次在对应layout文件下添加自定义gif控件,在这个控件里直接添加gif动画文件。如下图代码所示。 

<pl.droidsonroids.gif.GifImageView
        android:id="@+id/gv_error"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:src="@drawable/gif"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

” 
这样就可以了,非常方便,多次 点击也不会出现OOM。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium是一个用于构建三维地球、地图和应用程序的开源JavaScript库。它为开发者提供了丰富的功能和工具,使他们能够创建高度交互性和可视化效果的地球应用程序。 要在Cesium中加载和显示GIF图像,可以使用Cesium的ImageryLayer对象。ImageryLayer对象用于在地球上显示各种类型的图片,包括GIF图像。 要加载GIF图像,首先需要创建一个ImageryLayer对象。可以使用GIF图像的URL作为ImageryLayer对象的一个属性来指定要加载的图像。例如,假设我们有一个名为gifImageUrl的变量,其值为GIF图像的URL,可以使用以下代码创建一个ImageryLayer对象: ```javascript var imageryLayer = new Cesium.ImageryLayer(new Cesium.SingleTileImageryProvider({ url: gifImageUrl })); ``` 接下来,将ImageryLayer对象添加到Cesium的Viewer中,以便在地球上显示图像。假设我们有一个名为viewer的Cesium Viewer对象,可以使用以下代码将ImageryLayer对象添加到Viewer对象中: ```javascript viewer.scene.imageryLayers.add(imageryLayer); ``` 通过执行以上代码,Cesium将加载并显示指定的GIF图像。可以在三维地球上看到该图像。 需要注意的是,加载和显示GIF图像可能需要一些时间,具体取决于图像大小和网络连接速度。如果图像加载时间较长,可以通过调整Cesium的加载策略和优化网络连接来改善加载性能。 总之,使用Cesium的ImageryLayer对象和相应的URL,我们可以加载和显示GIF图像,并在Cesium的三维地球上进行可视化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值