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

來源:互聯網
上載者:User

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

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

先看:

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

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

AlphaAnimation : 漸層透明度動畫

ScaleAnimation: 尺寸漸層動畫

TranslateAnimation: 水平移動動畫

RotateAnimation: 旋轉動畫

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

首先我們在Activity的布局檔案中加入一個ImageView和一個TextView,使他們在布局置中。

 

        

然後修改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來實現動畫。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.