如何只绘制视图背景的一部分

时间:2018-01-29 21:43:41

标签: android view draw

我只需要绘制TextView的一部分。为此,我将TextView子类化,并使用以下代码覆盖onDraw方法:

class DisappearingTextView(context: Context, attrs: AttributeSet) : AppCompatTextView(context, attrs) {
    override fun onDraw(canvas: Canvas) {
        val cropRect = computeCropRect()
        canvas.clipRect(cropRect)
        super.onDraw(canvas)
    }
}

它适用于文本,但背景仍然完全绘制。有没有办法也可以部分绘制背景?

1 个答案:

答案 0 :(得分:1)

解决方案是覆盖draw()方法而不是onDraw(),因为在调用onDraw()之前绘制了背景。感谢Romain Guy的解决方案和解释!