我正在尝试使用波纹创建图像按钮效果。然而,我希望涟漪效果从我的图像按钮图标的中心开始并填充图像按钮。是否可以让涟漪效果从中心到整个圆圈动画。就像一个白色圆圈的大小从 0 到圆圈直径的动画?
最佳答案
正如 RippleDrawable 的文档中所述您可以使用 setHotspot 设置 anchor 方法。
默认查看
sets the hotspot按下时到当前触摸坐标:
private void setPressed(boolean pressed, float x, float y) {
if (pressed) {
drawableHotspotChanged(x, y);
}
setPressed(pressed);
}
和ImageView
passes此热点的内容:
public void drawableHotspotChanged(float x, float y) {
super.drawableHotspotChanged(x, y);
if (mDrawable != null) {
mDrawable.setHotspot(x, y);
}
}
因此,从中心开始获得涟漪效果的一种方法是扩展 ImageView
并始终将热点设置为中心。当然还有其他方法,例如可以尝试扩展 RippleDrawable
并在那里覆盖 setHotspot
。
关于android - 如何为从中心位置到全直径的波纹效果设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65010446/