1

Androidでプログラミングを始めたばかりで、クリックしたボタンを結ぶ線を描きたいです。メインのXMLファイルで定義されているボタンがたくさんあるgridLayoutがあります。最初にクリックしたボタンの中心から次に押すボタンまで直線を引きたい、というように続きます(最初にクリックしたボタンで終わることもあるので、何らかの形になります)。私はキャンバスやアニメーションについて多くの研究をしましたが、どこから始めればよいのかわかりません。どんな助けでも大歓迎です-ありがとう。

RG

PS私は最終的に接続線をアニメートしたいと思いますが、まず最初に。

4

1 に答える 1

2

描画を行う最良の方法は、のdraw-methodをオーバーライドすることGridLayoutです。特にonDrawメソッドではありません。これは、子ビューが描画される前に呼び出され、線が背景に配置されるためです。描画を行う前に、必ずスーパーメソッドを呼び出してください。

最初のレイアウトパスの後(つまりonLayout、少なくとも1回呼び出された後)、ボタンの位置を初期化する必要があります。親との相対的な位置は、電話getLeftなどgetTopで確認できます。これを使用して、中心座標を計算できます。

GridLayoutどのボタンに線を引くかをどうにかして伝える必要があります。最も簡単な方法は、おそらく各ボタンに。を付け、クリックされたことOnClickListenerを親(getParent)に伝えることです。したがって、たとえば、クリックされたボタンの座標を使用して線オブジェクトのセットを作成することにより、それに応じて線の描画を開始する必要があります。GridLayoutクリックするたびにアフターの再描画を強制するには、それを呼び出すことができますinvalidate

于 2012-06-12T20:26:12.250 に答える