android自定义实现分时图,Android专业版K线图、分时图 android-kline
android-kline
基于MPAndroidChart的專業K線圖
簡介
android-kline是Android平臺的金融圖表庫,包括分時圖和K線圖。本項目通過繼承的方式定制了最新版本的MPAndroidChart,解決了下面的問題:
解決了多圖表手勢同步的問題
解決多圖表highlight聯動的問題
使用簡單,兩行代碼就可以實現專業K線效果
Demo
What's new
增加了MACD、KDJ指標的顯示和切換
增加了五日的分時圖
優化圖表的縮放,可以進行放大和縮小操作(之前只支持在初始狀態下的放大操作)
拼接圖表的縮放功能(之前如果一個手指在K線圖,另一個手指在交易量圖的時候,圖表是不可以縮放的)
全屏模式的示例
分時圖增加漲跌幅的坐標,并且漲跌幅為0%時豎直居中顯示
K線圖增加最大/最小值的顯示
配置
在項目build.gradle中添加依賴:
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
dependencies {
compile com.github.gzw19931217:android-kline:1.0.2'
}
快速開始
mTimeLineView = new TimeLineView(getContext()); //初始化分時圖
mTimeLineView.setDateFormat("HH:mm"); // 設置x軸時間的格式
List hisData = ... // 初始化數據,一般通過網絡獲取數據
mTimeLineView.setLastClose(hisData.get(0).getClose()); // 設置昨收價
mTimeLineView.initData(hisData); // 初始化圖表數據
xml
android:id="@+id/kline"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
android:id="@+id/timeline"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
java
KLineView K線圖控件
public void showKdj() 顯示kdj指標
public void showMacd() 顯示macd指標
public void showVolume() 顯示交易量指標
public void initData(List hisDatas) 初始化數據,獲取到數據后調用
public void addData(HisData hisData) 圖表末尾增加一個數據
public void refreshData(float price) 刷新最后一個點的價格(不增加數據)
TimeLineView 分時圖控件
public void initData(List hisDatas) 初始化數據,獲取到數據后調用
public void addData(HisData hisData) 圖表末尾增加一個數據
public void refreshData(float price) 刷新最后一個點的價格(不增加數據)
public void initDatas(List... 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個點
public void setDateFormat(String format) 設置x軸時間的格式
public void setLastClose(douhle lastClose) 設置昨收價格,用于計算漲跌幅
注意: 這里需要接收一個HisData的List,HisData需要如下的幾個數據(開盤、收盤、最高、最低、買賣量、時間),其他的指標會根據公式計算出來
在本項目中,時間戳date相當于唯一的id,如果重復的話無法將這個date添加到圖表中
public HisData(double open, double close, double high, double low, long vol, long date)
個性化:如果需要配置顏色,可以到colors.xml中重寫顏色的值。
反饋
歡迎各位提issues和PRs!
聯系方式
qq群: 629878453
License
Copyright gzw19931217 gzw19931217@qq.com
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
總結
以上是生活随笔為你收集整理的android自定义实现分时图,Android专业版K线图、分时图 android-kline的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初中计算机软件课后反思,初中信息技术教学
- 下一篇: Android攒了一个月的面试题及解答,