繁体   English   中英

如何动画从中心 position 到全直径的波纹效果

[英]How to animate ripple effect from center position to full diameter

我正在尝试使用波纹创建图像按钮效果。 但是,我希望波纹效果从我的图像按钮图标的中心开始并填充图像按钮。 是否可以让涟漪效果从中心动画到整个圆圈。 就像一个白色圆圈的动画大小从 0 到圆圈的直径?

正如RippleDrawable的文档中所述,您可以使用setHotspot方法设置锚点。

默认情况下, View 将热点设置为按下时的当前触摸坐标:

private void setPressed(boolean pressed, float x, float y) {
        if (pressed) {
            drawableHotspotChanged(x, y);
        }

        setPressed(pressed);
    }

ImageView将此热点传递给其内容:

 public void drawableHotspotChanged(float x, float y) {
    super.drawableHotspotChanged(x, y);

    if (mDrawable != null) {
        mDrawable.setHotspot(x, y);
    }
}

因此,从中心开始获得涟漪效应的一种方法是扩展ImageView并始终将热点设置为中心。 当然还有其他方法,例如可以尝试扩展RippleDrawable并在那里覆盖setHotspot

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM