- 在布局中添加一個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>