2.與圖表的互動Interaction with the Chart
阿新 • • 發佈:2018-12-19
該庫允許您完全自定義與圖表檢視的可能觸控(和手勢)互動,並通過回撥方法對互動作出反應。
啟用/禁用互動
- setTouchEnabled(boolean enabled):啟用/禁用與圖表的所有可能的觸控互動。
- setDragEnabled(boolean enabled):啟用/禁用圖表的拖動(平移)。
- setScaleEnabled(boolean enabled):啟用/禁用縮放圖表上的兩個軸。
- setScaleXEnabled(boolean enabled):啟用/禁用x軸上的縮放。
- setScaleYEnabled(boolean enabled):啟用/禁用y軸縮放。
- setPinchZoom(boolean enabled):如果設定為true,則啟用縮放縮放。如果禁用,則可以單獨縮放x軸和y軸。
- setDoubleTapToZoomEnabled(boolean enabled):將此設定為false以禁止通過雙擊來縮放圖表。
圖表拋擲/減速
- setDragDecelerationEnabled(boolean enabled):如果設定為true,圖表會在觸控後繼續滾動,預設值:true。
- setDragDecelerationFrictionCoef(float coef):減速摩擦係數[0; 1]間隔,較高的值表示速度將緩慢下降,例如,如果設定為0,它將立即停止。1是無效值,將自動轉換為0.9999。
突出顯示值
手勢回撥
OnChartGestureListener將允許您對圖表上的手勢做出反應:
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); }
只需讓你的接收回調的類實現這個介面並將其設定為圖表的監聽器:
chart.setOnChartGestureListener(this);