Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> ObjectAnimator詳解(測試用,承接Android動畫操作中的測試)

ObjectAnimator詳解(測試用,承接Android動畫操作中的測試)

編輯:關於Android編程

廢話不多說直接看代碼

需要注意的是ObjectAnimator.ofFloat(xiaoming, “age”, 0f,100f)傳入的是float的值,所以在測試中age必須用float類型的,還必須有setAge的方法,否則無法完成值的傳遞

先看布局文件



    

主程序代碼

package com.test.testone;

import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.animation.Animator;
import android.animation.Animator.AnimatorListener;
import android.annotation.TargetApi;
import android.app.Activity;
import android.animation.ObjectAnimator;
import android.os.Build;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.widget.Button;
import android.widget.TextView;

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class MainActivity extends Activity {
    private static final String TAG=AA;
    private Student xiaoming;
    private Button mButton;
    private TextView mTextView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         mButton=(Button) findViewById(R.id.button);
         mTextView=(TextView) findViewById(R.id.text_view);
         mButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                 xiaoming=new Student();
                ObjectAnimator anim=  ObjectAnimator.ofFloat(xiaoming, age, 0f,100f).setDuration(1000);
                  anim.addListener(new AnimatorListener()  
                    {

                        @Override
                        public void onAnimationStart(Animator animation) {
                             Log.d(TAG, onAnimationStart);  

                        }

                        @Override
                        public void onAnimationEnd(Animator animation) {
                             Log.d(lalala, onAnimationEnd);  
                             Log.d(lalala, xiaoming.getAge()+);
                             mTextView.setText( xiaoming.getAge()+);

                        }

                        @Override
                        public void onAnimationCancel(Animator animation) {
                              Log.d(TAG, onAnimationCancel);  

                        }

                        @Override
                        public void onAnimationRepeat(Animator animation) {
                             Log.d(TAG, onAnimationRepeat);  

                        }  

                    });  
                    anim.start();  

            }
        });

    }


}

輔助student類

package com.test.testone;

public class Student {
    private float age;

    public float getAge() {
        return age;
    }

    public void setAge(float age) {
        this.age = age;
    }

}

效果圖

通過下圖可以看到age的數值由默認值變為了傳入值100,這就說明了ObjectAnimator的多用途,不僅可以用到動畫效果中,還可以有更多的使用場合。
這裡寫圖片描述

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved