2012-12-28 26 views
8

当您需要更改ProgressBar的背景图像时,需要采取的适当措施是什么?我的意思是应该使用一个.gif图像,如:http://2.bp.blogspot.com/-O7nsXfmgwSc/T6PQ0PVr6-I/AAAAAAAAAQI/-eXkEXj24-s/s1600/02.gif,如果是这样,条的前景色会在进程中填充图像文件?有没有为酒吧的背景创建动画的方法?我的目标是显示动画,只要这个过程不包含完整的栏。Android上的ProgressBar上的背景动画图像?

回答

14

您需要将所有此gif帧图像作为单独的,然后设置到xml文件中的动画列表中。

这是您的anim_progress.xml文件代码

<?xml version="1.0" encoding="utf-8"?> 
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    android:oneshot="false"> 
    <item android:drawable="@drawable/i1" android:duration="500" /> 
    <item android:drawable="@drawable/i2" android:duration="500" /> 
    <item android:drawable="@drawable/i3" android:duration="500" /> 
    <item android:drawable="@drawable/i4" android:duration="500" /> 
    <item android:drawable="@drawable/i5" android:duration="500" /> 
    <item android:drawable="@drawable/i6" android:duration="500" /> 
    <item android:drawable="@drawable/i7" android:duration="500" /> 
    <item android:drawable="@drawable/i8" android:duration="500" /> 
</animation-list> 

设置变化平滑效果的持续时间给了动画形象如GIF

下面是使用此文件

ImageView iv = new ImageView(this); 
iv.setBackgroundResource(R.drawable.anim_progress); 
final AnimationDrawable mailAnimation = (AnimationDrawable) iv.getBackground(); 
iv.post(new Runnable() { 
    public void run() { 
     if (mailAnimation != null) mailAnimation.start(); 
     } 
}); 
代码

setContentView(iv);

你可以从这个网站的gif文件获取所有帧。

http://gif-explode.com/

例如

http://2.bp.blogspot.com/-O7nsXfmgwSc/T6PQ0PVr6-I/AAAAAAAAAQI/-eXkEXj24-s/s1600/02.gif

此链接只是通过它,你会得到所有的帧图像

+0

非常感谢,我想这一点,并让你知道! – JimBoyHac

+0

像冠军一样工作! – JimBoyHac

+0

关于如何将ImageView设置为进度条背景的任何想法? – JimBoyHac