2012-03-12 8 views
0

私のアプリは、グラフのfitZoomボタンにはあまり役に立ちませんが、そのスペースはグラフ情報を含むコンテキストメニューを表示するのに適しています。私は既にボタンの画像やすべてを変更しましたが、グラフではなくアクティビティにコンテキストメニューが関連するため、ボタンの機能をどのように変更できるのか分かりません。FotZoomボタンのAchartengine changeのクリックアクション

私はそれを説明したかどうかわかりませんが、ちょっと混乱しているかもしれませんが、どの部分が十分明確でないか教えてください!

すべてのアイデア?

Thankank you very much!

答えて

0

私は非常に醜い方法でそれを解決しましたが、それは動作します!

まずあなたはzoomFitのonClickアクションをdisactivateする必要があると私はやった後に、次の:

私はachartengineライブラリにGraphicalViewにフィットボタンが押されたとき、私に語ったこの機能を追加しました:

public boolean isCompare(MotionEvent event) { 
    int action = event.getAction(); 
    RectF zoomR = new RectF(); 
    zoomR = getZoomRectangle();; 
    boolean comp = false; 
    if (action == MotionEvent.ACTION_DOWN) { 
     oldX = event.getX(0); 
     oldY = event.getY(0); 
     if (mRenderer != null && mRenderer.isZoomEnabled() 
       && mZoomR.contains(oldX, oldY)) { 
      if (oldX < mZoomR.left + mZoomR.width()/3) { 
       comp = false; 
      } else if (oldX < mZoomR.left + mZoomR.width() * 2/3) { 
       comp = false; 
      } else { 
       comp= true; 
      } 
       // graphicalView.zoomReset(); 
      } 
     } 
    return comp; 
} 

答私は私の活動にonTouchListenerを追加しました:

public void setChartListener(final GraphicalView view){ 
    view.setOnTouchListener(new View.OnTouchListener() { 

     public boolean onTouch(View v, MotionEvent event) { 
      // TODO Auto-generated method stub 

      view.onTouchEvent(event); 
      boolean is = view.isCompare(event); 
      if (is) { 
       //Action to do when pressed 
      } else { 
            //null 
      } 
      return is; 
     } 
    }); 
} 

を誰かがより良い方法を知っていれば...

関連する問題