Search

Android - 使用 ObjectAnimator 實現動畫效果

2015-11-17 12:51 PM

之前在開發 Flash 及 Javascript 上的介面時

我習慣用 GreenSock 開發的 TweenLite Library

因為他的執行效率非常好 而且使用也很方便直覺

但可惜的是他沒有支援 Android

而在另一篇介紹的 TweenEngine 雖然使用上很類似

詳見 Android - 使用 Tweener 加入互動特效

可是常常會出現動畫效果出不來或是直接報錯給你看

於是就萌生了使用原生 Android 動畫 API 的想法

以下就來介紹 ObjectAnimator 的使用方法

這裡將以淡出 View 為範例 並在完全淡出後設定 Visible 為 GONE

程式碼範例
// 建立動畫操作物件
ObjectAnimator objectAnimator = ObjectAnimator
                    // 指定動畫效果
                    .ofFloat(articleAuthorDataHolder, "alpha", 1.0f, 0.0f)
                    // 指定動畫時間長度
                    .setDuration(300);

// 加入動畫監聽 
objectAnimator.addListener(new Animator.AnimatorListener() {
    @Override
    public void onAnimationStart(Animator animation) {

    }

    // 動畫執行完成後將 View 設定為 GONE
    @Override
    public void onAnimationEnd(Animator animation) {
        articleAuthorDataHolder.setVisibility(View.GONE);
    }

    @Override
    public void onAnimationCancel(Animator animation) {

    }

    @Override
    public void onAnimationRepeat(Animator animation) {

    }
});

// 開始動畫
objectAnimator.start();

各項資料連結
Android - 使用 Tweener 加入互動特效
Android - ObjectAnimator

No comments:

Post a Comment