1. 程式人生 > >MPchart的使用和SDK的封裝

MPchart的使用和SDK的封裝

   public View initLineChart(int layoutId, int viewId, Context context, ArrayList dataList, LayoutInflater inflater, ViewGroup container,
                              LineChart LineChart, int zoom) {
        this.context = context;
        this.mLineChart = LineChart;
        //這裡是設定字型的,例如楷體啥的,自己看著改就行
        mTfLight = Typeface.createFromAsset(context.getAssets(), "OpenSans-Light.ttf");
        ArrayList> Linelist = new ArrayList<>();
        for (int j = 0; j < dataList.size(); j++) {
            ArrayList listEntry1 = new ArrayList<>();
            int[] numList = dataList.get(j);
            for (int i = 0; i < numList.length; i++) {
                listEntry1.add(new Entry(i, numList[i]));
            }
            Linelist.add(listEntry1);
        }
        //這裡是設定圖表背景顏色的
        mLineChart.setBackgroundColor(Color.rgb(255, 255, 255));
        mLineChart.setDescription("");
        mLineChart.setNoDataTextDescription("You need to provide data for the chart.");
        mLineChart.setOnChartValueSelectedListener(this);
        //設定點選某個點之後彈出的tip,tip背景就是layout檔案,至於怎麼把圖片設定進layout檔案這種就別問我了,搞個背景就ok
        MyMarkerView mv = new MyMarkerView(context, R.layout.custom_marker_view);
        mLineChart.setMarkerView(mv);
        //是否可觸控
        mLineChart.setTouchEnabled(true);
        //滑動速度
        mLineChart.setDragDecelerationFrictionCoef(0.9f);
        mLineChart.setDragEnabled(true);
        mLineChart.setScaleEnabled(true);
        mLineChart.setDrawGridBackground(false);
        //是否高亮
        mLineChart.setHighlightPerDragEnabled(true);
        //是否允許放大縮小
        mLineChart.setScaleYEnabled(false);
        //下面兩句程式碼我搞了半天反正沒搞懂,第一句差不多是進去載入的時候就放大7倍的意思,參考了一些別人的意見
        mLineChart.setPinchZoom(true);
        //這裡是通過zoom的值來控制載入的時候頁面的大小,因為業務需要調整為一屏顯示7個左右的資料,所以先這樣做著
        mLineChart.zoom(zoom, 0, 0, 0);

        // 這寫getMax getMin 都自己寫的,獲取資料裡面最大最小值,我不貼了,大家應該也都會
        lineNum = dataList.size();
        count = getCount(Linelist);
        max = getMax(Linelist);
        min = getMin(Linelist);
        range = max - min;
        //設定資料進去
        setLineChartData(count, range, lineNum, Linelist);
        //進去會有一個載入動畫效果,這裡是動畫的事件
        mLineChart.animateX(2500);
        //這裡是表下面的文字,我的給擠掉了
        Legend l = mLineChart.getLegend();

        l.setForm(Legend.LegendForm.LINE);
        l.setTypeface(mTfLight);
        l.setTextSize(11f);
        l.setTextColor(Color.WHITE);
        l.setPosition(Legend.LegendPosition.BELOW_CHART_LEFT);

        //這裡是設定X軸的東西
        XAxis xAxis = mLineChart.getXAxis();
        //X軸顯示在底部
        xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
        xAxis.setTypeface(mTfLight);
        //設定X軸的線為虛線,間隔10
        xAxis.enableGridDashedLine(10f, 10f, 0);
        //這句好像沒用,下一句才有用
        xAxis.setAxisLineColor(Color.parseColor("#5B86A8"));
        xAxis.setGridColor(Color.parseColor("#5B86A8"));
        xAxis.setTextSize(11f);
        //是否畫出X軸的線
        xAxis.setDrawAxisLine(true);
        xAxis.setTextColor(ColorTemplate.getHoloBlue());
        xAxis.setAxisMaxValue(max * 1.5f);
        xAxis.setAxisMinValue(min * 0.5f);
        xAxis.setDrawGridLines(true);
        xAxis.setGranularityEnabled(true);
        xAxis.setLabelCount(200);

        mLineChart.getAxisRight().setEnabled(false);
        mLineChart.getAxisLeft().setEnabled(false);

        mLineChart.invalidate();

        return mLineChart;
    }

相關推薦

MPchart的使用SDK封裝

public View initLineChart(int layoutId, int viewId, Context context, ArrayList dataList, LayoutInflater inflater, ViewGroup container,

【FFMpeg視訊開發與應用基礎】五、呼叫FFMpeg SDK封裝音訊視訊為視訊檔案

《FFMpeg視訊開發與應用基礎——使用FFMpeg工具與SDK》視訊教程已經在“CSDN學院”上線,視訊中包含了從0開始逐行程式碼實現FFMpeg視訊開發的過程,歡迎觀看!連結地址:FFMpeg視訊開發與應用基礎——使用FFMpeg工具與SDK

JAVAEE——SSH項目實戰02:客戶列表BaseDao封裝

nbsp jstl n) top 默認 ica ring put ava 作者: kent鵬 轉載請註明出處: http://www.cnblogs.com/xieyupeng/p/7129152.html 該項目在SSH三大框架整合基礎上進行開發:http://www

jsonxml封裝數據、數據緩存到文件中

用戶 lena 數據緩存 完全 數據類型 lin print 函數 response 一、APP的通信格式之xml xml:擴展標記語言,可以用來標記數據,定義數據類型,是一種允許用戶對自己標記語言進行定義的源語言。XML格式統一,擴平臺語言,非常適合數據傳輸和通信,業界

封裝封裝類比較相同不intInteger

com margin idt val image 相同 -1 img wid A.所有和int(非封裝類比較的,只要數值相同就行) B.io3由valueof弄出來的,所以和io1相同 C.io4是new出來的,所以地址不一樣,就不相同 D.和A相同封裝類和非封裝類比較相

okhttp第三方封裝好的OKHttp庫-okhttp-utils

projects https esp lang call 實例化 透明 square sample 1_OKHttp簡介 1.1_簡介 OKHttp是一款高效的HTTP客戶端,支持連接同一地址的鏈接共享同一個socket,通過連接池來減小響應延遲,還有透明的GZIP壓縮,請

IDESDK

ron visual .net dev 很多 soft 編輯 集成 開發 像我這種不是專科班出來的,真的很多概念都不太清楚,今天來說說IDE和SDK 簡單的來說: IDE(集成開發環境 Integrated Development Environment) 就是我們編寫代碼

安卓性能測試:adb 查看Android模擬器版本號SDK版本號

href lease adb shell oid 獲取 inf sdk get blog 摘要:隨著安卓功能的不斷增加,各種安卓sdk與安卓模擬器也隨之更新。由於某些原因,我們需要查看它們的版本號。下面我就來介紹下具體方法: 1 adb 查看Android模擬器版本號和

Qt與FFmpeg聯合開發指南(四)——編碼(2):完善功能基礎封裝

v_op buffer 目前 front from 幀率 inter 博客 int 上一章我用一個demo函數演示了基於Qt的音視頻采集到編碼的完整流程,最後經過測試我們也發現了代碼中存在的問題。本章我們就先處理幾個遺留問題,再對代碼進行完善,最後把編碼功能做基礎封裝。 一

C++之MutexLockMutexLockGuard封裝

執行 div unistd.h sta lock ptr cas turn sleep thread.h #ifndef __WD_MUTEXLOCK_H__ #define __WD_MUTEXLOCK_H__ #include <pthread.h>

gatpost封裝代碼爬蟲的5個步奏

except head get請求 webkit baidu 5.0 .com urllib header 1了解需求2根據需求找網站3請求4獲取5存儲from urllib import request, parsefrom urllib.error import HTT

java高級-泛型<T>註解封裝與使用

bat string 為什麽 cor this 模塊名 vat () parameter p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #000000 } span.s1 {

jfinalQ開發教程10-qiao.js:js工具bootstrap封裝

qiao.js 1.說明 主要分為兩塊:常用js封裝,bootstrap元件封裝,已經開源到github:https://github.com/uikoo9/qiao.js 2.專案結構 _other:無關的東西 plugins:qiao.util.js的示例

安卓學習筆記 -- (安裝環境) Android Studio安裝配置、環境搭建詳細步驟及基本使用 Android StudioSDK官方開發工具下載 Android Studio教程從入門到精通 Android開發-之第一個程式:HelloWorld!

1、下載Android Studio安裝配置、環境搭建詳細步驟及基本使用    https://www.cnblogs.com/yanglh6-jyx/p/Android_AS_Configuration.html https://blog.csdn.net/k491022087/ar

來回動畫的封裝—練習定時器函式封裝的思想

要點: 1.定時器原本只打開一個,在不做任何處理的時候,如果在上一個定時器執行完成之前快速點選按鈕。定時器的所執行的函式的速度,會不斷的加快 ,自己臆測的原因是,多執行緒,同時開啟多個定時器,不會等到上一個處理完成之後來處理下一個,而是類似於多執行緒的原理,共同的處理定時器繫結的處理函式。

VIVADOSDK聯合除錯--轉載我之前的blog的內容

哈哈哈,終於在組會前一天把除錯搞定了,本來還愁彙報什麼呢?經過我幾天來不吃不喝(當然健身房還是不能落下的,hhh),總算把zynq的軟硬體除錯搞通了,但是這些僅僅是對付一些一般複雜性的系統,當系統變得龐大時,可能裡面需要更多的除錯技巧,但是掌握zynq的除錯技巧對zynq的開發來說,重要性不言而喻。

Audio 標籤的使用自己封裝一個強大的React音樂播放器

原文地址:https://www.dodoblog.cn/blog?id=5be84d5c70b2b617f27a4610   這篇文章主要介紹一下部落格裡的這個音樂播放器是怎麼寫的 為了更好的表達高深的東西,還是需要先強調點簡單的東西  Audio元素的屬性

實現一個類,把冒泡插入封裝到兩個函式中去(宣告兩個函式,一個是冒泡,一個是插入),且進行呼叫除錯

實現一個類,把冒泡和插入封裝到兩個函式中去(宣告兩個函式,一個是冒泡,一個是插入),且進行呼叫和除錯 import java.util.Arrays; /* * 實現一個類,把冒泡和插入封裝到兩個函式中去(宣告兩個函式,一個是冒泡,一個是插入),且進行呼叫和除錯 */ public class E

SOP封裝SOIC封裝的區別

前幾天畫板子時遇到一些問題,部分晶片只有SOIC封裝,但是我在畫原理圖時沒有考慮太多,使用的是SOP封裝,此時PCB已經完成,懶得改動,就去查了一下這兩個貨的區別,得到如下結果。 SOP也是一種很常見的封裝形式,始於70年代末期。SOP封裝的應用範圍很廣,而且以後逐漸派生出SOJ(J型引腳小

DOM0事件DOM2事件模型 —— JS中的設計模式元件封裝

1、一些對於技術發展的心得體會 學習各種設計模式有什麼作用? 【開發】 開發效率高 利於團隊協作 【維護】 有利於程式碼的升級改變 邏輯清晰,程式碼嚴謹,利於後期的維護 【通用】 我們依託設計模式可以實現元件化、模組化、外掛化、框架化以及一些常用類庫方法的編寫 技術語言發展路線 語言語法