对于我的应用程序并不是真正有用的图形的fitZoom按钮,但该空间非常适合显示带有一些图形信息的上下文菜单。我已经更改了按钮的图像和所有内容,但我不知道如何更改按钮功能,因为上下文菜单与活动有关,而与图表无关。
我不知道我是否解释得很好,可能有点乱,但告诉我哪一部分不够清楚!
任何想法?
非常感谢你!
答案 0 :(得分:0)
我自己以一种非常丑陋的方式解决了它,但它确实有效!
首先,您必须取消激活zoomFit onClick操作,然后执行下一步操作:
我在achartengine库的GraphicalView中添加了这个函数,告诉我何时按下了fit按钮:
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;
}
Ans我将onTouchListener添加到我的Activity:
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;
}
});
}
如果有人知道更好的方式......