是否可以在另一个按钮中使用Android的"汉堡图标"动画?

Alb*_*dez 2 icons animation android button

我希望有两个汉堡图标,其动画分别位于两个不同的位置,通常位置的一个按钮(位于工具栏的左侧),另一个位于导航抽屉内的按钮中.

看看Android文档我看不到有关在其他位置使用hamburguer图标而不是工具栏的任何内容,所以我想知道是否有一种简单的方法来实现或将动画复制到其他位置/按钮而不必做我自己的动画.

先感谢您

Bul*_*kel 9

所以我在这个问题上有点晚了(只是遇到了同样的问题).您可以使用DrawerArrowDrawablev7支持库中的基础drawable .它根据它的进度处理绘图,setProgress(floatValue)但您需要处理状态之间的动画.我用它包装它来做到这一点ValueAnimator.见下面的例子:

final DrawerArrowDrawable drawable = new DrawerArrowDrawable(this);
ImageView imageView = (ImageView)findViewById(R.id.imageView);
imageView.setImageDrawable(drawable);

ValueAnimator animator = ValueAnimator.ofFloat(0f, 1f);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
  @Override public void onAnimationUpdate(ValueAnimator animation) {
    drawable.setProgress((Float)animation.getAnimatedValue());
  }
});

...

// burger to arrow
animator.start();

...

// arrow to burger
animator.reverse();
Run Code Online (Sandbox Code Playgroud)

这是一个来自生产应用程序的未经测试的适应,应该工作:-)