当您需要更改 ProgressBar 的背景图像时,应该采取什么适当的操作?我的意思是应该使用 .gif 图像,如:http: //2.bp.blogspot.com/-O7nsXfmgwSc/T6PQ0PVr6-I/AAAAAAAAAQI/-eXkEXj24-s/s1600/02.gif如果是的话,前景色条在过程中填充图像文件?有没有办法为酒吧的背景创建动画?我的目标是显示动画,只要该过程不覆盖整个栏。
问问题
5944 次
1 回答
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();
}
});
设置内容视图(iv);
您可以从本网站的 gif 文件中获取所有帧。
例如
http://2.bp.blogspot.com/-O7nsXfmgwSc/T6PQ0PVr6-I/AAAAAAAAAQI/-eXkEXj24-s/s1600/02.gif
这个链接只是通过它,你会得到所有的帧图像
于 2012-12-28T12:40:03.277 回答