2012-03-12 83 views
0

对于我的应用程序是不是真的有用图的fitZoom按钮,但该空间将是巨大的某些图形信息显示上下文菜单。我已经更改了按钮的图像和所有内容,但我不知道如何更改按钮功能,因为上下文菜单与活动相关,而与图形无关。Achartengine变化的单击动作

我不知道如果我解释是好,可能有点乱,但告诉我,哪一部分是不够清晰!

任何想法?

非常感谢!

回答

0

我解决它自己,在一个非常丑陋的方式,但它的工程!

首先,你必须disactivate的zoomFit的onClick动作后,我做了下一个:

我加入GraphicalView在achartengine库这个功能,告诉我当嵌合按钮被按下:

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; 
     } 
    }); 
} 

如果有人知道更好的办法...