首页 > 代码库 > android开发步步为营之52:AsyncTask处理过程中自定义旋转的菊花
android开发步步为营之52:AsyncTask处理过程中自定义旋转的菊花
AsyncTask在处理过程中,我们一般会使用一个转动的“菊花”来显示提示当前用户当前的进度,一般呢,我们都不会用系统自带的ProgressDialog,而是自己设计个动画来实现,菊花转动时,不允许用户点击页面,那么把这个菊花放在AlertDialog自定义的页面上,如果转动过程中,允许用户点击页面其他位置,比如搜索城市,那么把这个进度图片直接放在该页面的xml文件上就可以了。给出转动的菊花实现代码 : )
第一步:动画anim文件下新增rotate_animation.xml
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:pivotX="50%" android:pivotY="50%"
android:fromDegrees="0" android:toDegrees="-720"
android:duration="1800"
android:fillAfter="true"
android:interpolator="@android:anim/linear_interpolator"
>
</rotate>
第二步:给imageview设置动画
private void startAnimation(View view) {
Animation animation = AnimationUtils.loadAnimation(CitySettingActivity.this, R.anim.rotate_animation);
animation.setRepeatCount(Animation.INFINITE);
animation.setRepeatMode(Animation.RESTART);
view.startAnimation(animation);
}
第三步:AsyncTask中添加转动菊花
onPreExecute()里面
打开动画
startAnimation(imgProgress);
onPostExecute()里面
关闭动画
imgProgress.clearAnimation();
android开发步步为营之52:AsyncTask处理过程中自定义旋转的菊花