2012-02-07 9 views
0

Androidでチャートを使用し、様々なaChartEngine、AndroidPlot、その他のライブラリをうまく試してみる必要があります...ユーザーがアイテムをタップしてイベントをトラップする必要がありますこれを対応して。 私は一からチャートを作ることにしました。私はキャンバスを使用すると思いますが、描画されたアイテムに対してタッチイベントを取得する方法を知りたいのですが(可能であれば、タッチ座標を取得してオブジェクトと交差するかどうかを確認してください。ハンドル)。 触れることができるキャンバスの描画画像の例は誰ですか?Androidのタッチインタラクティブチャートを描く

答えて

0

簡単です。 TouchListenerを追加して、タッチしたポイントがサークル内にあるかどうかを確認するために使用しているビューで、チャートを描画します。タッチ点が円グラフの周りに長方形内にある場合は、この例では、私がチェックしています:もちろん

this.setOnTouchListener(new View.OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       float x = event.getX(); 
       float y = event.getY(); 
       if (x < (centreX-r) || x> (centreX+r) || y <(centreY-r) || y>(centreY+r)) { 
        return false; 
       } 
       //do whatever you need to do 
       return true; 
      } 
     }); 

あなたが押されたスライスを正確に知る必要がある場合、あなたはスライスを決定するために、いくつかのロジックを追加する必要がありますポイントと角度に基づいて

関連する問題