android動畫介紹--Animation 實現loading動畫效果

jopen 8年前發布 | 32K 次閱讀 Android開發 移動開發

Animation的使用方法并不難。這里簡單的介紹一下使用方法。

先看效果圖:


效果還是不錯的吧。 下面來看看使用方法。

動畫效果是通過Animation來實現的,一共有四種,分別為:

AlphaAnimation : 漸變透明度動畫

ScaleAnimation:  尺寸漸變動畫

TranslateAnimation: 水平移動動畫

RotateAnimation:  旋轉動畫

那么為了實現我的效果圖上的效果呢。我們所有的動畫都使用到了。

首先我們在Activity的布局文件中加入一個ImageView和一個TextView,使他們在布局居中。

<ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:src = "@drawable/point"
        android:id = "@+id/point"/>
    <TextView
        android:layout_below="@+id/point"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="loadIng..."
        android:layout_centerHorizontal="true"
        android:textSize="20sp"
        android:id="@+id/loading"/>

然后修改MainActivity.java

先把需要聲明的屬性聲明

private ImageView mImageView;
    private TextView mTextView;
    private AnimationSet mImageAni;
    private AnimationSet mTextAni;

這里由于 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, 也就是旋轉動畫。他的參數是從多少度到多少度(0-->360),后面幾個參數是從自身為基準,50% 也就是中心點旋轉.

這兩個動畫效果組合起來就實現了小圓球的旋轉效果。

接下來來看一下mTextAni

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  透明動畫的參數就比較簡單,它的參數為從透明度多少到透明度多少,這里是從消失到顯示.

最后我們給ImageView 添加一個監聽事件,點擊的時候播放動畫效果

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


大功告成! 快去試試吧,另外如果你感興趣,還可以看看其他的參數,和怎樣用xml來實現動畫。

源代碼下載


下一篇:android動畫介紹之 自定義Animation動畫實現qq抖一抖效果

來自: http://blog.csdn.net/wingichoy/article/details/47104433

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!