美文网首页
【Android】几行代码实现伪3D高光效果小球

【Android】几行代码实现伪3D高光效果小球

作者: littlefogcat | 来源:发表于2021-06-19 20:07 被阅读0次

实现效果:


渐变
渐变2
渐变3
渐变4

演示代码,为方便起见,这里所有长度、颜色都是固定值:

class HighlightView : View {
    private val paint = Paint().apply { isAntiAlias = true }
    private val gradient = RadialGradient(
        134f, 57f, 94f,
        Color.parseColor("#F2FFFFFF"),
        Color.parseColor("#FF000000"),
        Shader.TileMode.MIRROR
    )

    constructor(context: Context?) : super(context)
    constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
    constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)

    override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec)
        setMeasuredDimension(200, 200)
    }

    override fun onDraw(canvas: Canvas) {
        paint.style = Paint.Style.FILL
        paint.shader = gradient
        canvas.drawCircle(100f, 100f, 100f, paint)
    }
}

相关文章

网友评论

      本文标题:【Android】几行代码实现伪3D高光效果小球

      本文链接:https://www.haomeiwen.com/subject/pjokyltx.html