android的動畫

來源:互聯網
上載者:User

標籤:

實現逐幀動畫
實現補間動畫

一實現逐幀動畫
建立android項目

建立layout布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@animator/fox"
    android:id="@+id/main_rl"
    tools:context=".MainActivity" >

<ImageView
    android:layout_width="match_parent"
    android:layout_height="308dp"
    android:src="@drawable/ic_launcher" />

</LinearLayout>

 

在資源res檔案下建立動畫檔案animator代碼如下同時在res檔案下drawable-hdpi放入照片

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/a1" android:duration="100" />
<item android:drawable="@drawable/a2" android:duration="100" />
<item android:drawable="@drawable/a3" android:duration="100" />
<item android:drawable="@drawable/a4" android:duration="100" />
<item android:drawable="@drawable/a5" android:duration="100" />
<item android:drawable="@drawable/a6" android:duration="100" />
<item android:drawable="@drawable/a7" android:duration="100" />
</animation-list>

 

建立activity活動java類

package com.example.android_lession9_1;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;

public class MainActivity extends Activity {
    
    private LinearLayout rl;
    boolean flag=false;
    private MyHandler my;
    AnimationDrawable ani;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        rl=(LinearLayout) findViewById(R.id.main_rl);
        my=new MyHandler();
        ani=(AnimationDrawable) rl.getBackground();    
//        rl.setOnClickListener(new OnClickListener() {
//            
//            @Override
//            public void onClick(View v) {
//            //啟動動畫
//                //擷取動畫檔案
//            AnimationDrawable ani=(AnimationDrawable) rl.getBackground();    
//            flag=!flag;    
//            if(flag){
//                ani.start();
//            }else{
//                ani.stop();
//            }
//            
//            
//            }
//        });
    
//        ani.start();
        new Thread(new Runnable() {
            
            @Override
            public void run() {
                my.sendEmptyMessage(0);
            }
        }).start();
        
        
        
        
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    
    
    
    public class MyHandler extends Handler{
        
        @Override
        public void handleMessage(Message msg) {
    
               ani.start();
            super.handleMessage(msg);
        }
    }
    
}

android的動畫

聯繫我們

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