- 在布局中添加一个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" />
- <pre class="java" name="code"> private ImageView loadingImageView ;
- private EditText loadingEditText;
- private AnimationDrawable anim;</pre>
- 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>