RippleDrawable响应压力和聚焦状态,前者提供您要查找的波纹动画。您可以使用来在主机视图上切换按下状态
View.setPressed(boolean)。
Runnable pressRunnable = new Runnable() { @Override public void run() { button.setPressed(true); button.postonAnimationDelayed(unpressRunnable, 250); }};Runnable unpressRunnable = new Runnable() { @Override public void run() { button.setPressed(false); button.postonAnimationDelayed(pressRunnable, 250); }};请记住,用户触摸
Button切换按钮也会切换按下状态,因此您可能想要删除或重新发布可运行项
OnTouchListener。
如果需要,您可以
Drawable.setHotspot(float, float)在API
22+上使用或
View.dispatchDrawableHotspotChanged(float, float)通过传递视图相对
(x,y)坐标来控制波纹位置。



