android ValueAnimator属性动画 onAnimationUpdate回调异常?
巴扎黑
巴扎黑 2017-04-17 15:36:28
0
2
874

使用属性动画遇到异常以下是我的代码,点击一个View然后这个View执行一个高度变化的动画。但是动画没有按照预期出现。加上LOG以后发现动画的回调只调了两次,而且返回的值是最大值。各路大神求解!

 @Override
 public void onClick(View v) {
     switch (v.getId()) {
        case R.id.product_item_top_rl: 
        startAnimation(v);
        break;
     }
 }
 
private void startAnimation(final View v) {
    int height = v.getHeight();
    ValueAnimator va = ValueAnimator.ofInt(0, height);
    va.setDuration(1000);
    va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        public void onAnimationUpdate(ValueAnimator animation) {
            Log.d(TAG, "animation : " + animation.getAnimatedValue());
            v.getLayoutParams().height = (Integer) animation.getAnimatedValue();
            v.requestLayout();
        }
    });
    va.start();
}

D/ChooseProductFragment: animation : 150
D/ChooseProductFragment: animation : 150

巴扎黑
巴扎黑

全員に返信(2)
Peter_Zhu

問題は解決しました。というのも、昨日、UI自動化テストにespressoを使うために、設定で「ウィンドウアニメーションのスケーリング」「過剰なアニメーションのスケーリング」「アニメーションプログラムの継続時間の調整」の3つのアニメーションをオフにしたからです。これらのアニメーションを再度有効にすると、正常になります。

いいねを押す +0
迷茫

アニメーションのループ回数と方法が指定されていません。

を追加する必要があります。 リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート