Android上ProgressBar上的背景动画图片?

时间:2012-12-28 12:02:14

标签: android animation progress-bar

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

1 个答案:

答案 0 :(得分: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

此链接只是传递它,您将获得所有帧图像