在布局中添加一个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>
本文介绍了一种在Android应用中结合ImageView与EditText实现动画效果的方法。通过为ImageView设置AnimationDrawable背景并在EditText获得焦点时启动动画,可以提升用户体验。文中详细展示了如何通过代码控制动画播放及隐藏控件。
1万+

被折叠的 条评论
为什么被折叠?



