【发布时间】:2014-10-13 23:06:32
【问题描述】:
我正在尝试在特定时间(而不是在被触摸的视图上)在视图上播放涟漪效果(来自 Android L)。 具体来说,当用户成功更改一些文本时,我希望某个视图发挥绿色涟漪效果以显示成功。有没有办法做到这一点?
我尝试将 RippleDrawable 放入动画中,将 RippleDrawable 作为“成功视图”的背景。但是,我无法弄清楚如何播放我所描述的波纹动画。
附:我的项目现在只有 Android L,所以我不担心向后兼容性。
【问题讨论】:
-
只是猜测:(来自文档)
The default touch feedback animations for buttons use the new RippleDrawable class, which transitions between different states with a ripple effect.所以你可能想在 Drawable 上调用setState或类似的东西来触发效果。 -
@Budius 谢谢。可悲的是, int[] state = new int[] {android.R.attr.state_focused, android.R.attr.state_pressed}; view.getBackground().setState(state);没用。不过,这是个好主意。顺便说一句,我这样做对吗?
-
你的波纹是如何定义的?
-
@alanv pastebin.com/cKU5RpLP
标签: android android-5.0-lollipop material-design rippledrawable