Я решил это сам, очень безобразно, но это работает!
Сначала вы должны отключить действие 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;
}
});
}
Если кто-то знает лучший способ ...