问题描述
我想创建一个扩展 ImageView
的自定义视图,以便我可以在它上面绘制 paths
。我在这方面做了一些工作,但我不知道我错过了什么。 onDraw
它被调用,也是 onTouchEvent
@SuppressLint("AppCompatCustomView")
class BlackImageView @JvmOverloads constructor(
context: Context,attrs: AttributeSet? = null,defStyleAttr: Int = 0
) : ImageView(context,attrs,defStyleAttr) {
var path: Path = Path()
var paint: Paint = Paint().apply {
isAntiAlias = true
color = Color.RED
style = Paint.Style.STROKE
}
override fun onTouchEvent(event: MotionEvent?): Boolean {
event?.let {
when (it.action) {
MotionEvent.ACTION_DOWN -> {
path.moveTo(x,y)
return true
}
MotionEvent.ACTION_MOVE -> {
path.lineTo(x,y)
}
else -> {
invalidate()
return true
}
}
}
invalidate()
return true
}
override fun onDraw(canvas: Canvas?) {
super.onDraw(canvas)
canvas?.drawPath(path,paint)
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)