我正在尝试创建带有阴影文本的自定义视图。
如您所见,阴影逐渐消失。我希望阴影在圆圈内。
圆圈是视图的背景。我是从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)
}
我想要实现的是阴影在圆内。
答案 0 :(得分:0)
如果背景可绘制对象与您的视图大小匹配。您必须在这种情况下找到圆的半径,应该取视图宽度或高度的一半的值。然后,您应该只绘制圆圈中的阴影,而不是在shadowList中绘制所有阴影。为了计算它,您可以使用视图的右下角。拐角到中心点的距离必须等于或小于我上面提到的圆的半径。