首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用Crouton.cancelAllCroutons();时播放动画

调用Crouton.cancelAllCroutons();时播放动画
EN

Stack Overflow用户
提问于 2014-01-28 20:09:06
回答 1查看 431关注 0票数 2

当我取消所有的面包圈时,有没有办法让Crouton显示出来的动画?

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

代码语言:javascript
复制
@Override
public boolean onInterceptTouchEvent(final MotionEvent ev)
{
    Crouton.cancelAllCroutons();
    return super.onInterceptTouchEvent(ev);

}

该布局对显示的面包圈一无所知。它是这样工作的,但不是让它们消失,而是我想要播放输出动画(crouton向上)。

我快速浏览了一下源代码,Builder可以用来创建自定义动画来显示toast。当我自定义Crouton播放淡入动画时,它的工作方式与预期一样,当Crouton被取消时,只有输出动画似乎被忽略了

代码语言:javascript
复制
    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();

有人知道如何做到这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2014-01-29 17:09:52

cancelAllCroutons()不同,因为它立即移除所有潜在的当前和排队的面包圈,并且没有动画。

你可以在你的Crouton上调用Crouton.hide(...),以便用提供的动画移除它。如果你已经设置了一个LifecycleCallback,你会得到一个通知,那就是Crouton已经被移除了。然后你就可以去掉所有未来的面包圈。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21405304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档