Android K線圖圖表庫

android-kline

基於MPAndroidChart的專業K線圖java

項目地址android

本項目經過繼承的方式定製了最新版本的MPAndroidChart,沒有修改MPAndroidChart的源代碼,因此對已經使用了MPAndroidChart的童鞋不會形成影響。git

  • 解決了多圖表手勢同步的問題
  • 解決多圖表highlight聯動的問題
  • 使用簡單,兩行代碼就能夠實現專業K線效果

Demo

demo以下,也能夠點擊這裏下載github

demo

What's new

  • 增長了MACD、KDJ指標的顯示和切換
  • 增長了五日的分時圖
  • 優化圖表的縮放,能夠進行放大和縮小操做(以前只支持在初始狀態下的放大操做)
  • 拼接圖表的縮放功能(以前若是一個手指在K線圖,另外一個手指在交易量圖的時候,圖表是不能夠縮放的)
  • 全屏模式的示例
  • 分時圖增長漲跌幅的座標,而且漲跌幅爲0%時豎直居中顯示
  • K線圖增長最大/最小值的顯示

使用方式

在項目build.gradle中添加依賴:api

allprojects {
        repositories {
            jcenter()
            maven { url "https://jitpack.io" }
        }
   }
   dependencies {
        compile com.github.gzw19931217:android-kline:1.0.0' } 複製代碼

xmlbash

<com.guoziwei.klinelib.chart.KLineView android:id="@+id/kline" android:layout_width="match_parent" android:layout_height="match_parent"/>
複製代碼
<com.guoziwei.klinelib.chart.TimeLineView android:id="@+id/timeline" android:layout_width="match_parent" android:layout_height="match_parent"/>
複製代碼

javaapp

KLineView  K線圖控件
       public void showKdj() 顯示kdj指標
       	public void showMacd() 顯示macd指標
       	public void showVolume() 顯示交易量指標
       public void initData(List<HisData> hisDatas) 初始化數據,獲取到數據後調用
       public void addData(HisData hisData) 圖表末尾增長一個數據
       public void refreshData(float price) 刷新最後一個點的價格(不增長數據)
       
       
       TimeLineView 分時圖控件
       public void initData(List<HisData> hisDatas) 初始化數據,獲取到數據後調用
       public void addData(HisData hisData) 圖表末尾增長一個數據
       public void refreshData(float price) 刷新最後一個點的價格(不增長數據)
       public void initDatas(List<HisData>... hisDatas) 初始化多日的數據,好比說5日的數據,就傳5個list過去
       public void setLastClose(double lastClose)  設置昨天的收盤價,用於計算漲跌幅的座標
       
       兩個類共同的api:
       public void setCount(int init, int max, int min) 設置圖標的可見個數,分別是初始值,最大值,最小值。好比(100,300,50)就是開始的時候100個點,最小能夠縮放到300個點,最大能夠放大到50個點
       
複製代碼

注意: 這裏須要接收一個HisData的List,HisData須要以下的幾個數據(開盤、收盤、最高、最低、買賣量、時間),其餘的指標會根據公式計算出來maven

在本項目中,時間戳date至關於惟一的id,若是重複的話沒法將這個data添加到圖表中gradle

public HisData(double open, double close, double high, double low,  int vol, long date)
複製代碼

個性化:若是須要配置顏色,到colors.xml中配置。優化

相關文章
相關標籤/搜索