我有一个应用程序,允许用户从列表中选择单选按钮。选择单选按钮后,会出现如下所示的自定义对话框:
我想显示一个动画,显示在使用aynctask类下载实际图像时正在运行的仓鼠。请求的图像下载完成后,应显示在屏幕上(替换仓鼠动画)。
所以,我的问题是:我怎样才能实现这一目标?我尝试使用gif框架加载器,但这在对话框中不起作用,但是,我可以显示旋转图像,但我希望加载条更有趣,所以我选择了运行的仓鼠。 以上方法来自here
此外,用户应该能够单击关闭按钮,即使图像未加载(如果图像URL被破坏)。
编辑:这是不起作用的示例:
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class MainActiviy extends Activity implements OnClickListener{
Button start, stop;
ImageView imageView;
AnimationDrawable frameAnimation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imageView = (ImageView)findViewById(R.id.blankImageView);
start = (Button)findViewById(R.id.start);
stop = (Button)findViewById(R.id.stop);
imageView.setBackgroundResource(R.drawable.spin_animation);
frameAnimation = (AnimationDrawable) imageView.getBackground();
start.setOnClickListener(this);
stop.setOnClickListener(this);
//does not start the animation
frameAnimation.start();
}
public void onClick(View v) {
switch(v.getId()) {
case R.id.start:
frameAnimation.start();
break;
case R.id.stop:
frameAnimation.stop();
break;
}
}
}
// main.xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:layout_width="wrap_content"
android:id="@+id/blankImageView"
android:layout_height="wrap_content"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/start"
android:text="start"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/stop"
android:text="stop"/>
</LinearLayout>
// res / drawable文件夹中的spin_animation.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/frame1" android:duration="60" />
<item android:drawable="@drawable/frame2" android:duration="60" />
<item android:drawable="@drawable/frame3" android:duration="60" />
<item android:drawable="@drawable/frame4" android:duration="60" />
</animation-list>
//和frames
如何在不点击开始按钮的情况下制作图像动画?