自定义视图与阴影走出圆圈背景

时间:2019-02-19 16:51:20

标签: android android-layout android-view android-custom-view android-shape

我正在尝试创建带有阴影文本的自定义视图。

enter image description here

如您所见,阴影逐渐消失。我希望阴影在圆圈内。

圆圈是视图的背景。我是从xml设置的

android:background="@drawable/background"

这是我的onDraw方法

override fun onDraw(canvas: Canvas) {

    paint.color = shadowColor
    for (shadow in shadowList) {
        canvas.drawText(text, width / 2 - textBound.width() / 2 + shadow.dx, height / 2 + textBound.height() / 2 + shadow.dy, paint)
    }

    paint.color = textColor
    canvas.drawText(text, (width / 2 - textBound.width() / 2).toFloat(), (height / 2 + textBound.height() / 2).toFloat(), paint)
}

我想要实现的是阴影在圆内。

1 个答案:

答案 0 :(得分:0)

如果背景可绘制对象与您的视图大小匹配。您必须在这种情况下找到圆的半径,应该取视图宽度或高度的一半的值。然后,您应该只绘制圆圈​​中的阴影,而不是在shadowList中绘制所有阴影。为了计算它,您可以使用视图的右下角。拐角到中心点的距离必须等于或小于我上面提到的圆的半径。