Android Chart 框架 MPAndroidChart 學(xué)習(xí)筆記1_基本設(shè)置

MPAndroidChart 學(xué)習(xí)筆記2_基本設(shè)置


點擊這里查看項目源碼

1.啟用禁用交互

    /* @描述 啟用、禁用交互 */
    private void interactionWithChart(LineChart chart) {
        chart.setTouchEnabled(true);//是否開啟觸摸相關(guān)的交互方式
        chart.setDragEnabled(true);//是否開啟拖拽相關(guān)的交互方式
        chart.setScaleEnabled(true);//是否開啟xy軸的縮放
        chart.setScaleXEnabled(true);//是否開啟x軸的縮放
        chart.setScaleYEnabled(true);//是否開啟y軸的縮放
        //是否開啟雙指捏合縮放:如果關(guān)閉了,仍然可以完成x或y一個軸的縮放
        chart.setPinchZoom(true);
    }

2.圖表的圖幅以及摩擦系數(shù)

    /* @描述 圖表的圖幅以及摩擦系數(shù) */
    private void flingAndSeceleration(LineChart chart) {
        //如果設(shè)置為true,圖表繼續(xù)滾動后潤色,達到一種滾動平滑的效果
        //默認值:true
        chart.setDragDecelerationEnabled(true);
        //設(shè)置摩擦系數(shù)[0:1]:float
        // 0表示摩擦最大,基本上一滑就停
        // 1表示沒有摩擦,會自動轉(zhuǎn)化為0.9999,及其順滑
        chart.setDragDecelerationFrictionCoef(0.5f);
    }

3.手勢回調(diào)

調(diào)用接口

    public interface OnChartGestureListener {
        /* @描述 觸摸開始(ACTION_DOWN) */
        void onChartGestureStart(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture);
    
        /* @描述 觸摸結(jié)束 */
        void onChartGestureEnd(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture);
    
        /* @描述 長按 */
        public void onChartLongPressed(MotionEvent me);
    
        /* @描述 雙擊 */
        public void onChartDoubleTapped(MotionEvent me);
    
        /* @描述 單擊 */
        public void onChartSingleTapped(MotionEvent me);
    
        /* @描述 圖幅描述 */
        public void onChartFling(MotionEvent me1, MotionEvent me2, float velocityX, float velocityY);
    
        /* @描述 縮放 */
        public void onChartScale(MotionEvent me, float scaleX, float scaleY);
    
        /* @描述 手勢移動 */
        public void onChartTranslate(MotionEvent me, float dX, float dY);
    }

調(diào)用接口實現(xiàn)抽象方法,然后記得在java中進行綁定

    mChart.setOnChartGestureListener(this);

4.突出高亮

    /* @描述 突出高亮 */
    private void highlighting(LineChart chart){
        //默認為true:保證在拖動是圖像被充分放大了
        chart.setHighlightPerDragEnabled(true);
        //默認為true
        // 設(shè)置為true之后可以通過點擊的方式高亮選擇數(shù)據(jù)點
        //設(shè)置為false之后無法通過點擊方式選擇,但仍然可以通過拖拽實現(xiàn)
        chart.setHighlightPerTapEnabled(true);
        //高亮選擇只可以在距離高亮點指定范圍內(nèi)
        //當選擇點與高亮點距離超過設(shè)置值時高亮消失
        //設(shè)置之后高亮拖拽相對不好用
        chart.setMaxHighlightDistance(10f);
    }

針對數(shù)據(jù)集

    //數(shù)據(jù)內(nèi)容是否可以高亮選擇
        dataSet.setHighlightEnabled(false);
        //是否顯示高亮提示線
        dataSet.setDrawHighlightIndicators(true);
        //設(shè)置高亮提示先顏色
        dataSet.setHighLightColor(Color.RED);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評論 19 139
  • 對于一個數(shù)組,請設(shè)計一個高效算法計算需要排序的最短子數(shù)組的長度。 給定一個int數(shù)組A和數(shù)組的大小n,請返回一個二...
    X_Y閱讀 122評論 0 0

友情鏈接更多精彩內(nèi)容