AnimationSet類:動畫集合類

lidki 10年前發布 | 1K 次閱讀 C/C++

 AnimationSet類:動畫集合類

AnimationSet類是Android系統中的動畫集合類,用于控制View對象進行多個動作的組合,該類繼承于Animation類。 AnimationSet類中的很多方法都與Animation類一致,該類中最常用的方法便是addAnimation方法,該方法用于為動畫集合對象 添加動畫對象。

【基本語法】public void addAnimation (Animation a)

其中,參數a為Animation動畫對象,可以是前述任何一種補間動作。

【實例演示】下面通過代碼來演示如何設置一個組合動畫效果。

    public class firstActivity extends Activity {  
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {               //重載onCreate方法  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  

        final ImageView image=(ImageView)findViewById(R.id.imageView1); //ImageView對象  
        Button btn1=(Button)findViewById(R.id.button1);             //按鈕對象  
        Button btn2=(Button)findViewById(R.id.button2);  
        final Animation translateAnimation=new TranslateAnimation(0,300,0,300);                                                                 //設置位置變化動畫  
        final Animation scaleAnimation = new   
         ScaleAnimation(0f,1f,0f,1f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);  
                                                                //設置尺寸變化動畫  
        final Animation alphaAnimation=new AlphaAnimation(0.1f,1.0f);   //設置透明度變化動畫  
        btn1.setOnClickListener(new View.OnClickListener() {            //設置監聽器  

            @Override  
            public void onClick(View v) {  
                // TODO Auto-generated method stub  
                translateAnimation.setDuration(10000);      //設置位置變化動畫的持續時間  
                scaleAnimation.setDuration(10000);          //設置尺寸變化動畫的持續時間  
                alphaAnimation.setDuration(10000);          //設置透明度漸變動畫的持續時間  
                AnimationSet set=new AnimationSet(true);    //創建動畫集對象  
                set.addAnimation(translateAnimation);       //添加位置變化動畫  
                set.addAnimation(scaleAnimation);           //添加尺寸變化動畫  
                set.addAnimation(alphaAnimation);           //添加透明度漸變動畫  
                set.setFillAfter(true);                 //停留在最后的位置  
                set.setFillEnabled(true);  
                image.setAnimation(set);                    //設置動畫  
                set.startNow();                         //啟動動畫  
            }  
        });  
        btn2.setOnClickListener(new View.OnClickListener() {    //設置監聽器  

            @Override  
            public void onClick(View v) {  
                // TODO Auto-generated method stub  
                set.cancel();                               //取消動畫執行  
            }  
        });  
    }  
    }  

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