Crouton演奏动画时Crouton.cancelAllCroutons();叫做

时间:2014-01-28 12:09:06

标签: android crouton

当我取消所有油煎面包块时,有没有一种方法让Crouton显示出动画?

当用户再次与触摸屏进行交互时,我使用自定义布局拦截触摸事件:

@Override
public boolean onInterceptTouchEvent(final MotionEvent ev)
{
    Crouton.cancelAllCroutons();
    return super.onInterceptTouchEvent(ev);

}

该布局对所显示的面包丁一无所知。它以这种方式工作,但不是让它们消失,而是我想要播放动画(crouton上升)。

我在源代码中快速查看,可以使用Builder创建自定义动画来显示吐司。当我自定义Crouton在动画中播放淡入淡出时,它就像预期的那样工作,只有 当油炸面包片被取消时,动画似乎被忽略了

    final View customMessage = LayoutInflater.from(getContext()).inflate(R.layout.custom_layout,null);
    final Configuration croutonConfig =  new Configuration.Builder().setDuration(Configuration.DURATION_INFINITE).setInAnimation(android.R.anim.fade_in).setOutAnimation(android.R.anim.fade_out).build();
    Crouton.make(this.getActivity(),customMessage).setConfiguration(croutonConfig).show();

任何人都知道如何做到这一点?

1 个答案:

答案 0 :(得分:0)

不使用cancelAllCroutons(),因为它会立即删除所有潜在的当前和排队的Croutons而没有动画。

您可以在Crouton上调用Crouton.hide(...),以便使用提供的动画删除它。如果您设置了LifecycleCallback,则会通知您Crouton已被删除。然后你可以删除所有未来的油煎面包块。