我想创建一个可视化编辑器,您可以在其中通过导线连接不同组件的数据接口,以定义它们之间的数据流。例如,它应该是Blender节点编辑器。下面我添加了一张显示原理的图片。
我当前面临的问题是使导线可单击。一种想法是为每条具有动态绘制线的导线创建一个视图。但是在这种情况下,触摸区域会太大,因为Android将视图作为矩形小部件处理,并且在多条导线的情况下,我会覆盖导线,因此无法精确解析所触摸的导线。您是否知道如何测试接触点是否穿过电线(使用Android lib类,也许是Path)?我还要说的是,导线应该是贝塞尔曲线样条线。
最佳答案
如果您希望导线为贝塞尔曲线,请参见:Bezier curve and canvas
这意味着一切都在Canvas中,并且您负责绘制和处理触摸事件。
一些预期行动的起点:Drag and move a circle drawn on canvas