在布局中添加一个ImageViw和一个EditText。
<ImageView android:id="@+id/loading_imageView_info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@anim/loading" /> <EditText android:id="@+id/loading_editText_info" android:layout_width="0dp" android:layout_height="0dp" />
private ImageView loadingImageView ;
private EditText loadingEditText;
private AnimationDrawable anim;
loadingImageView =(ImageView)findViewById(R.id.loading_imageView_info);
loadingEditText =(EditText)findViewById(R.id.loading_editText_info);
loadingEditText.setInputType(InputType.TYPE_NULL);//屏蔽软键盘
anim = (AnimationDrawable) loadingImageView.getBackground();
loadingEditText.setOnFocusChangeListener(editSetOnFocus);
/**
* 当输入框获取焦点,则运行动画
*/
private OnFocusChangeListener editSetOnFocus = new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
anim.start();
Log.i("text", "执行等待动画。。。。。。。。");
}
};
当程序获取到数据一般情况是在hanlder中发送消息通知动画停止,并隐藏当前的控件
anim.stop();
loadingImageView.setVisibility(View.GONE);
anim动画在XML中定义,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="150" android:drawable="@drawable/load1" />
<item android:duration="150" android:drawable="@drawable/load2" />
<item android:duration="150" android:drawable="@drawable/load3" />
<item android:duration="150" android:drawable="@drawable/load4" />
<item android:duration="150" android:drawable="@drawable/load5" />
<item android:duration="150" android:drawable="@drawable/load6" />
</animation-list>