【问题标题】:Custom View with shadow going out of circle background阴影超出圆圈背景的自定义视图
【发布时间】:2019-07-13 06:00:15
【问题描述】:

我正在尝试使用阴影文本创建自定义视图。

如您所见,阴影超出了圆圈。我希望阴影在圆圈内。

圆圈是视图的背景。我从 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)
}

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-10
      • 1970-01-01
      • 1970-01-01
      • 2020-10-25
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      相关资源
      最近更新 更多