Android-动画矢量甚至在恢复后仍停留在“结束”状态

时间:2018-07-29 11:26:56

标签: java android

你好:)我对动画矢量有疑问。

我目前正在开发一个应用程序,并且为此创建了一个小库,该库实现了一个简单的浮动操作按钮菜单。您可以查看示例应用here-在实施时使用1.3-RELEASE和CoordinatorLayout版本示例。

这个想法是,当您单击FAB时,它会生成其他FAB,这些FAB会向上浮动。然后,当您与视图交互时(滚动视图或再次单击FAB),它会隐藏生成的FAB。

对于主要的FAB动画,我有两个镜像的动画矢量ic_menu_animated.xml和ic_menu_animated_reverse.xml。一个开始是汉堡包,然后变成“ X”形,另一个则相反。

然后,在实际的实现中,我有一个方法public void toggleButtons(ViewGroup parent, int fabResource),该方法在调用时将停止当前drawable的动画,切换资源并启动另一个动画,例如:

Drawable d = getDrawable();
    if (d instanceof Animatable){
        Animatable anim = (Animatable)d;
        if(anim.isRunning()){
            anim.stop();
        }
    }


setImageDrawable(getResources().getDrawable(R.drawable.ic_menu_animated));
    if(getDrawable() instanceof Animatable) {
        Animatable anim = (Animatable) getDrawable();
        anim.start();
    }

一切似乎都正常,直到我没有关闭“ FAB菜单”,然后退出活动并再次进入活动几次。然后,按钮在“ X”状态下“卡住”。

此行为在example video上得到了说明。

请帮我解决这个问题。我已经战斗了几天了。

0 个答案:

没有答案