作者提出了一个解决方法,但我想知道,有没有办法让OnClickListener在播放按钮上的涟漪动画后被触发?
解决方法 简短的回答:不是真的,根据材料指南(AFAIK),你不应该以这种方式延迟onClick执行.在我看来,这将导致非常糟糕的用户体验 – 我喜欢我的按钮活泼,我不喜欢等待花哨的动画.中等长度的半答案:你可以做一个快速的黑客攻击并将你的onClick逻辑的内容包裹在一个足够延迟的.postDelayed(…)通话中.如果有适当的延迟,动作将在波纹之后发生.这是一个黑客,它是脆弱的,我会建议你反对这个解决方案.
答案很长:你可以确定Ripple是否完成了动画,尽管这条路有点复杂. Ripple是一个Drawable,并且作为所有动画Drawables,它通过callback告诉它VIEw什么时候做动画(以及何时完成它).你可以利用这个回调告诉动画实际完成的时间.
例如.您可以为此实现自己的回调,将所有调用转发到Ripple的托管VIEwGroup,并告诉您动画何时完成,以便您可以开展业务.
作为底线,我认为你应该:
>解决这个问题,因为你链接的文章>如果这是一个选项,只要忘记这种情况下的涟漪效应.
总结以上是内存溢出为你收集整理的android – 有一个按钮在涟漪动画结束时执行OnClickListener(材质主题)全部内容,希望文章能够帮你解决android – 有一个按钮在涟漪动画结束时执行OnClickListener(材质主题)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)