当我取消所有的面包圈时,有没有办法让Crouton显示出来的动画?
当用户再次与触摸屏交互时,Im使用自定义布局来拦截触摸事件:
@Override
public boolean onInterceptTouchEvent(final MotionEvent ev)
{
Crouton.cancelAllCroutons();
return super.onInterceptTouchEvent(ev);
}该布局对显示的面包圈一无所知。它是这样工作的,但不是让它们消失,而是我想要播放输出动画(crouton向上)。
我快速浏览了一下源代码,Builder可以用来创建自定义动画来显示toast。当我自定义Crouton播放淡入动画时,它的工作方式与预期一样,当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();有人知道如何做到这一点吗?
发布于 2014-01-29 17:09:52
与cancelAllCroutons()不同,因为它立即移除所有潜在的当前和排队的面包圈,并且没有动画。
你可以在你的Crouton上调用Crouton.hide(...),以便用提供的动画移除它。如果你已经设置了一个LifecycleCallback,你会得到一个通知,那就是Crouton已经被移除了。然后你就可以去掉所有未来的面包圈。
https://stackoverflow.com/questions/21405304
复制相似问题