這個庫允許你定制與圖表視圖之間觸摸操作(手勢)晃危,并通過回調(diào)方法來進(jìn)行相應(yīng)。
啟用/禁用交互
- setTouchEnabled(boolean enabled):可以啟用/禁用所有與圖表的觸摸交互。
- setDragEnabled(boolean enabled):啟用/禁用拖動(平移)圖表僚饭。
- setScaleEnabled(boolean enabled):啟用/禁用圖表兩個軸的縮放震叮。
- setScaleXEnabled(boolean enabled):啟用/禁用x軸的縮放。
- setScaleYEnabled(boolean enabled):啟用/禁用y軸的縮放鳍鸵。
- setPinchZoom(boolean enabled):如果設(shè)置為true,捏拉縮放啟用苇瓣。如果禁用,x和y軸可以單獨縮放。
- setDoubleTapToZoomEnabled(boolean enabled):設(shè)置為false,不允許使用雙擊屏幕來放大圖表偿乖。
圖標(biāo)的加速/減速
- setDragDecelerationEnabled(boolean enabled):如果設(shè)置為true,觸摸抬起后击罪,圖表繼續(xù)滾動。默認(rèn)值:真的贪薪。
- setDragDecelerationFrictionCoef(float coef):減速摩擦系數(shù)在[0,1]區(qū)間,值越大表示速度減少越慢,例如如果設(shè)置為0,它將立即停止媳禁。1是一個無效的值,并將自動轉(zhuǎn)換為0.9999。
高亮顯示
如何通過點擊手勢和編程方式讓允許條目高亮顯示画切,在highlightning section有詳細(xì)介紹竣稽。
手勢回調(diào)
實現(xiàn)OnChartGestureListener這個接口里的方法來對圖表手勢進(jìn)行響應(yīng):
public interface OnChartGestureListener {
/**
* Callbacks when a touch-gesture has started on the chart (ACTION_DOWN)
* @param me
* @param lastPerformedGesture
*/
void onChartGestureStart(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture);
/**
* Callbacks when a touch-gesture has ended on the chart (ACTION_UP, ACTION_CANCEL)
* @param me
* @param lastPerformedGesture
*/
void onChartGestureEnd(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture);
/**
* Callbacks when the chart is longpressed.
* @param me
*/
public void onChartLongPressed(MotionEvent me);
/**
* Callbacks when the chart is double-tapped. *
* @param me
*/
public void onChartDoubleTapped(MotionEvent me);
/**
* Callbacks when the chart is single-tapped.
* @param me
*/
public void onChartSingleTapped(MotionEvent me);
/**
* Callbacks then a fling gesture is made on the chart.
* @param me1
* @param me2
* @param velocityX
* @param velocityY
*/
public void onChartFling(MotionEvent me1, MotionEvent me2, float velocityX, float velocityY);
/**
* Callbacks when the chart is scaled / zoomed via pinch zoom gesture.
* @param me
* @param scaleX scalefactor on the x-axis
* @param scaleY scalefactor on the y-axis
*/
public void onChartScale(MotionEvent me, float scaleX, float scaleY);
/**
* Callbacks when the chart is moved / translated via drag gesture.
* @param me
* @param dX translation distance on the x-axis
* @param dY translation distance on the y-axis
*/
public void onChartTranslate(MotionEvent me, float dX, float dY);
}
接下來就很簡單了,讓你的類實現(xiàn)這個接口和她的回調(diào)方法:
chart.setOnChartGestureListener(this);