Android動畫之初步(一)

來源:互聯網
上載者:User

Android Tweened Animation一共有四種

Alpha: 淡入淡出效果

Scale: 縮放效果

Rotate: 旋轉效果

Translate:移動效果

使用Tweened Animations的步驟

1.建立一個AnimationSet對象

2.根據需要建立需要的Animation對象

3.根據軟體動畫的需要,為Animation對象設定相應的資料

4.將Animation對象添加到AnimationSet對象中

5.使控制項對象開始執行AnimationSet

Alpha動畫

[java]
       AnimationSet as=new AnimationSet(true); 
AlphaAnimation al=new AlphaAnimation(1,0); 
//1代表完全不透明,0代表完全透明  
al.setDuration(3000); 
as.addAnimation(al); 
iv.startAnimation(as); 

         AnimationSet as=new AnimationSet(true);
 AlphaAnimation al=new AlphaAnimation(1,0);
 //1代表完全不透明,0代表完全透明
 al.setDuration(3000);
 as.addAnimation(al);
 iv.startAnimation(as);Rotate動畫

[java]
              AnimationSet as=new AnimationSet(true); 
RotateAnimation al=new RotateAnimation (0,720,Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.5f); 
//前兩個參數參數旋轉的角度,後面幾個參數決定旋轉的中心  
//Animation.ABSOLUTE:絕對座標  
//Animation.RELATIVE_TO_PARENT:相對父控制項  
//Animation.RELATIVE_TO_SELF:相對自己  
al.setDuration(3000); 
as.addAnimation(al); 
iv.startAnimation(as); 

                  AnimationSet as=new AnimationSet(true);
  RotateAnimation al=new RotateAnimation (0,720,Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.5f);
  //前兩個參數參數旋轉的角度,後面幾個參數決定旋轉的中心
  //Animation.ABSOLUTE:絕對座標
  //Animation.RELATIVE_TO_PARENT:相對父控制項
  //Animation.RELATIVE_TO_SELF:相對自己
  al.setDuration(3000);
  as.addAnimation(al);
  iv.startAnimation(as);Scale動畫


[java]
AnimationSet as=new AnimationSet(true); 
            ScaleAnimation al=new ScaleAnimation(0,1,0,1,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); 
            //前四個參數是X從多大到多大,Y從多大到多大,後面的參數是縮放的中心點  
            al.setDuration(3000); 
            as.addAnimation(al); 
            iv.startAnimation(as); 

AnimationSet as=new AnimationSet(true);
   ScaleAnimation al=new ScaleAnimation(0,1,0,1,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
   //前四個參數是X從多大到多大,Y從多大到多大,後面的參數是縮放的中心點
   al.setDuration(3000);
   as.addAnimation(al);
   iv.startAnimation(as);
Translate動畫

[java]
AnimationSet as=new AnimationSet(true); 
            TranslateAnimation al=new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2); 
            al.setDuration(3000); 
            as.addAnimation(al); 
            iv.startAnimation(as); 

AnimationSet as=new AnimationSet(true);
   TranslateAnimation al=new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2);
   al.setDuration(3000);
   as.addAnimation(al);
   iv.startAnimation(as);
Animation還有幾個方法

setFillAfter(boolean fillAfter)

如果fillAfter的值為真的話,動畫結束後,控制項停留在執行後的狀態

setFillBefore(boolean fillBefore)

如果fillBefore的值為真的話,動畫結束後,控制項停留在動畫開始的狀態

setStartOffset(long startOffset)

設定動畫控制項執行動畫之前等待的時間

setRepeatCount(int repeatCount)

設定動畫重複執行的次數


 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.