StockChart
StockChart copied to clipboard
请教小哥 我移植到3.10后 关于高亮的问题...
你的demo 按住不放(1s) 出现高亮十字, 而我的怎么会是按住不能出现高亮,需要手指点击(松开)才会出现。 这样导致点击屏幕无法取消高亮 大神用了啥 秘密方法......
搞定了......
怎么搞得
怎么搞得 在BarLineChartTouchListener.java找到下面这个函数(方法)
/*取消单机高亮,改为长按*/
@Override
public boolean onSingleTapUp(MotionEvent e) {
mChart.highlightTouch(null);//这个方法在3.X 已经取消了 但为了能单击取消 高亮只能重新放上
/* mLastGesture = ChartGesture.SINGLE_TAP;
OnChartGestureListener l = mChart.getOnChartGestureListener();
if (l != null) {
l.onChartSingleTapped(e);
}
if (!mChart.isHighlightPerTapEnabled()) {
return false;
}
Highlight h = mChart.getHighlightByTouchPoint(e.getX(), e.getY());
performHighlight(h, e);*/
return super.onSingleTapUp(e);
}
记得好像还要再改一个地方有点忘了 ,你可以在原作者的程序的 barChart.highlightValue(new Highlight(h.getX(),0,-1));这里下断,然后单步执行, 看下他改动了哪里,你照着改就行。最好是自己重新定义一个方法,实现,不要改MP里面的源码。
怎么搞得 在BarLineChartTouchListener.java找到下面这个函数(方法)
/*取消单机高亮,改为长按*/ @Override public boolean onSingleTapUp(MotionEvent e) { mChart.highlightTouch(null);//这个方法在3.X 已经取消了 但为了能单击取消 高亮只能重新放上 /* mLastGesture = ChartGesture.SINGLE_TAP; OnChartGestureListener l = mChart.getOnChartGestureListener(); if (l != null) { l.onChartSingleTapped(e); } if (!mChart.isHighlightPerTapEnabled()) { return false; } Highlight h = mChart.getHighlightByTouchPoint(e.getX(), e.getY()); performHighlight(h, e);*/ return super.onSingleTapUp(e); }
记得好像还要再改一个地方有点忘了 ,你可以在原作者的程序的 barChart.highlightValue(new Highlight(h.getX(),0,-1));这里下断,然后单步执行, 看下他改动了哪里,你照着改就行。最好是自己重新定义一个方法,实现,不要改MP里面的源码。
老哥你这个取消单击可以在不修改源码的情况下重写吗?,因为我也是依赖最新的3.10的MP