我只需要绘制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)
}
}
它适用于文本,但背景仍然完全绘制。有没有办法也可以部分绘制背景?
答案 0 :(得分:1)
解决方案是覆盖draw()方法而不是onDraw(),因为在调用onDraw()之前绘制了背景。感谢Romain Guy的解决方案和解释!