android动画介绍--Animation实现loading动画效果

动画效果是通过Animation来实现的,一共有四种,分别为:

  • AlphaAnimation:渐变透明度动画
  • ScaleAnimation:尺寸渐变动画
  • TranslateAnimation:水平移动动画
  • RotateAnimation:旋转动画

实践:
首先在Activity的布局文件中加入一个ImageView和TextVIew

 "30dp"
        android:layout_height="30dp"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_loading"
        android:id="@+id/iv_loading_point"
        />

    "wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_loading_text"
        android:layout_below="@id/iv_loading_point"
        android:layout_centerHorizontal="true"
        android:text="Loading"
        android:textSize="20sp"
        />

然后把需要声明的属性声明:

 "30dp"
        android:layout_height="30dp"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_loading"
        android:id="@+id/iv_loading_point"
        />

    "wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_loading_text"
        android:layout_below="@id/iv_loading_point"
        android:layout_centerHorizontal="true"
        android:text="Loading"
        android:textSize="20sp"
        />

这里由于ImageView和TextView都使用了组合的动画效果,所以需要有两个容器AnimationSet来存放动画效果

TranslateAnimation ta = new TranslateAnimation(200,0,300,0);  
        ta.setDuration(5000);  
        RotateAnimation ra = new RotateAnimation(0,360, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);  
        ra.setDuration(5000);  
        mImageAni.addAnimation(ta);  
        mImageAni.addAnimation(ra);  

mImageAni里存放了一个TranslateAnimation也就是水平移动动画,它的参数是从哪里到哪里,这里是从200—>0,300—>0,之后调用setDuration()方法来设置动画效果持续的时间。另一个是RotateAnimation,也就是旋转动画,它的参数是从多少度到多少度,后面几个参数是从自身为基准,50%也就是中心点旋转
这两个动画效果组合起来实现了小圆球的旋转效果

ScaleAnimation sa = new ScaleAnimation(0,2.5f,0,2.5f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);  
      sa.setDuration(5000);  
      AlphaAnimation aa = new AlphaAnimation(0,1);  
      aa.setDuration(5000);  
      mTextAni.addAnimation(sa);  
      mTextAni.addAnimation(aa);  

第一个动画效果是ScaleAnimation也就是缩放效果动画,它的参数与与平移相似,从多少扩大到多少,后面的参数也是以自身为基准的50%,也就是中心。而AlphaAnimation透明动画的参数就比较简单,它的参数为透明度从多少到多少,这里是从消失到显示

mImageView.setOnClickListener(new View.OnClickListener() {  
            @Override  
            public void onClick(View view) {  
                mImageView.startAnimation(mImageAni);  
                mTextView.startAnimation(mTextAni);  
            }  
        });  

最后的效果:
android动画介绍--Animation实现loading动画效果_第1张图片

本文来源:
http://blog.csdn.net/wingichoy/article/details/47104433

你可能感兴趣的:(android)