以编程方式动画ActionBarDrawerToggle图标

Iva*_*ork 5 android android-appcompat android-actionbar android-5.0-lollipop

我想手动将抽屉图标从汉堡设置为箭头,反之亦然,不仅在拖动抽屉时,是否可能?我正在使用支持库appcompat-v7:21.

另外我找不到android.support.v7.app.ActionBarDrawerToggle的源代码,这会有所帮助.

Iva*_*ork 13

我找到了一种使用简单的ValueAnimator和.onDrawerSlide方法为图标设置动画的方法.

    ValueAnimator anim = ValueAnimator.ofFloat(start, end);
    anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            float slideOffset = (Float) valueAnimator.getAnimatedValue();
            drawerToggle.onDrawerSlide(drawerLayout, slideOffset);
        }
    });
    anim.setInterpolator(new DecelerateInterpolator());
    anim.setDuration(300);
    anim.start();
Run Code Online (Sandbox Code Playgroud)

但也许有更好的解决方案.