Android画布单击不可用

Android画布单击不可用,android,kotlin,Android,Kotlin,我正在探索android画布(在Kotlin),它看起来非常酷。但我发现我可以用canvas做的事情有一个局限性。我希望有经验的人来确认我的想法,或者给我一些解决这个问题的技巧。下面是: 据我所知,画布是用来画画的。它正在创建一个视图,而我只能将clickListener放到我在CustomView类(我使用canvas并绘制的类)中创建的整个视图中 这是真的吗?如果这是真的,我就无法在一个自定义视图中使用文本视图、编辑文本和按钮以及绘图零件进行复杂视图。如果是这样,那就太可惜了 请告诉我这是真

我正在探索android画布(在Kotlin),它看起来非常酷。但我发现我可以用canvas做的事情有一个局限性。我希望有经验的人来确认我的想法,或者给我一些解决这个问题的技巧。下面是:

据我所知,画布是用来画画的。它正在创建一个视图,而我只能将clickListener放到我在CustomView类(我使用canvas并绘制的类)中创建的整个视图中

这是真的吗?如果这是真的,我就无法在一个自定义视图中使用文本视图、编辑文本和按钮以及绘图零件进行复杂视图。如果是这样,那就太可惜了


请告诉我这是真的,如果不是的话,我在这里缺少的是什么。

画布只是一个在视图区域支持“在二维位图/曲面上绘制像素”的对象。没别的了

类似于“我想在画布上绘制TextView”的词没有任何意义,因为您无法在画布上绘制对象(在本例中为TextView)

绘制过程非常复杂,假设所有“要绘制的对象”都是像素或基本形状(直线、正方形、矩形、椭圆形等)

文本视图是由几个矩形(主要作为背景)构成的活动对象,它管理自己的绘图过程。它有自己的画布,在其中绘制所有“图形”(主要是背景和文本)和每个生成的事件(单击、移动、ecc…)(可以)更改画布绘制的方式/内容

如果您想“在画布上绘制EditText”,您必须自己创建所有EditText像素,然后在画布上绘制它们,但通过这种方式,您必须根据事件生成的位置(x,y坐标)自行管理单击和按键笔划事件