Android 本地资源通过animation生成gif动态效果

Android 本地资源通过animation生成gif动态效果

由于通过直接加载Ps生成的gif存在失真情况,gif在ps中生成至于256原色,所以转化成gif格式文件后在客户端展示和网页中展示效果特别差,展示渐变带有半透明特效的样式特别难看。由于在andriod里可以逐帧的播放图片,所以把每一帧切图直接放到客户端资源文件中,产生一种动态的效果,准备好几张连续的图片,然后在于源程序res文件夹下建立anim文件夹,然后新建一个XML:注意此文件必须放到drawable中,不是anim文件夹。

<?xml version="1.0" encoding="utf-8"?>   
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"    
android:oneshot="true">    
<item android:drawable="@drawable/t0000" android:duration="50" />    
<item android:drawable="@drawable/t0001" android:duration="50" />    
<item android:drawable="@drawable/t0002" android:duration="50" />   
<item android:drawable="@drawable/t0003" android:duration="50" />   
<item android:drawable="@drawable/t0004" android:duration="50" />   
<item android:drawable="@drawable/t0005" android:duration="50" />   
…………
<item android:drawable="@drawable/t0059" android:duration="50" />   
</animation-list> 

其中t0000,t0001,t0002等是加入的图片的名称。因为此处我需要一个循环的转圈并且周围阴影渐变效果,大概是3秒钟,即3000ms 一共有60张图,所以每张图展示50ms
在窗体里面放置一个ImageView控件,并在代码中编写:
_imageView1 =(ImageView)findViewById(R.id.imageView1);//放置的ImageView控件
//设置动画背景
R.anim.wait_anim就是上一步准备的动画描述文件的资源名
//获得动画对象
_animaition = (AnimationDrawable)_imageView1.getBackground();
最后,就可以启动动画了,代码如下:
//是否仅仅启动一次?
_animaition.setOneShot(false);
if(_animaition.isRunning())//是否正在运行?
{
_animaition.stop();//停止
}
_animaition.start();//启动
此处可以在按钮中控制启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值