我刚开始在android中编程,我想绘制一条连接我点击的按钮的行。我有一个gridLayout,其中包含许多在主XML文件中定义的按钮。我想从第一个单击按钮的中心绘制一条直线到我按下的下一个按钮,依此类推(有时在我点击的第一个按钮结束,所以它会形成一些形状)。我对画布,动画进行了大量研究,但无法弄清楚从哪里开始。任何帮助将不胜感激 - 谢谢。
RG
P.S。我最终想要为连接线设置动画,但首先要做的事情。
答案 0 :(得分:2)
执行绘图的最佳方法是覆盖draw
的{{1}} - 方法。值得注意的是,不是GridLayout
方法,因为在之前会调用来绘制子视图,从而将您的行放入后台。记得在绘图之前调用超级方法。
在第一次布局传递后(即在onDraw
被调用至少一次之后),应初始化按钮的位置。您可以通过调用onLayout
,getLeft
等来获取他们与父母的相对位置。您可以使用它来计算它们的中心坐标。
你必须以某种方式告诉你getTop
哪些按钮画线。最简单的方法可能是给每个按钮GridLayout
,并告诉他们的父母(OnClickListener
)它被点击,因此应该开始相应地绘制线条,例如通过构建一组线条对象点击按钮的坐标。要在每次点击后强制重新标记getParent
,您可以在其上调用GridLayout
。