美文网首页MPAndroidChartAndroid知识Android开发
MPAndroidChart中文翻译(二与图表交互)

MPAndroidChart中文翻译(二与图表交互)

作者: 鹿小纯0831 | 来源:发表于2016-10-11 11:02 被阅读180次

    这个库允许你定制与图表视图之间触摸操作(手势),并通过回调方法来进行相应。

    启用/禁用交互
    • 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,触摸抬起后,图表继续滚动。默认值:真的。
    • setDragDecelerationFrictionCoef(float coef):减速摩擦系数在[0,1]区间,值越大表示速度减少越慢,例如如果设置为0,它将立即停止。1是一个无效的值,并将自动转换为0.9999。
    高亮显示

    如何通过点击手势和编程方式让允许条目高亮显示,在highlightning section有详细介绍。

    手势回调

    实现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);
    

    相关文章

      网友评论

        本文标题:MPAndroidChart中文翻译(二与图表交互)

        本文链接:https://www.haomeiwen.com/subject/bqavyttx.html