2012-02-07 72 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; 
      } 
     }); 

當然,如果你需要確切地知道按下哪個片,你將不得不增加一些邏輯來確定片基於點和角度。