10分鐘學(xué)會(huì)ikvStockChart制作K線圖(股票走勢圖)

前言:
最近在技術(shù)群里面,總是有人在問這個(gè)股票圖怎么做熊响,有沒有相關(guān)的三方庫可以使用呢说敏?其實(shí)我也想研究這類的項(xiàng)目,剛好在github上面遇到了一個(gè)制作K線圖的庫搪锣,叫做ikvStockChart秋忙,于是寫了一個(gè)Demo,還是寫這篇博客跟大家仔細(xì)講一下把构舟。雖然官方文檔也有灰追,但不是很清晰。于是我整理了這篇博客狗超,讓大家一看就明白使用的正確姿勢弹澎。

OK,Show me your code!Go!Go!Go!
先來看一波效果圖:

效果圖

一努咐、新版本功能介紹(當(dāng)前最新版本:0.1.5)

ikvStockChart一個(gè)簡單的Android圖表庫苦蒿,支持時(shí)間線,k線渗稍,macd佩迟,kdj团滥,rsi,boll索引和交互式手勢操作报强,包括左右滑動(dòng)刷新灸姊,縮放,突出顯示秉溉。

1. 支持在 XML 布局文件和代碼中設(shè)置各個(gè)線條顏色力惯、大小配置
2. 支持左滑、右滑加載
3. 支持長按高亮召嘶、短按點(diǎn)擊父晶、雙指縮放事件
4. 支持 fling 滑動(dòng)
5. 支持 MACD、RSI苍蔬、KDJ诱建、BOLL 四個(gè)指標(biāo)
6. 支持自定義的指標(biāo)顯示方式

ikvStockChart這個(gè)庫附帶的sample有:默認(rèn)左滑右滑加載、禁用左滑右滑加載碟绑、多個(gè)指標(biāo)共同聯(lián)動(dòng)顯示俺猿、在 Fragment 中使用、帶有下拉刷新的需求中使用格仲、橫豎屏切換(自動(dòng)旋轉(zhuǎn))押袍、簡單分時(shí)圖

二、基本使用

1. 添加依賴

compile 'com.wordplat:ikvStockChart:0.1.5'

2. 布局里面設(shè)置

<com.wordplat.ikvstockchart.InteractiveKLineLayout
    android:id="@+id/kLineLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

3. 代碼里面使用

比如:

final EntrySet entrySet = new EntrySet();
entrySet.addEntry(new Entry(...));
    
kLineLayout.getKLineView().setEntrySet(entrySet);
kLineLayout.getKLineView().notifyDataSetChanged();
kLineLayout.getKLineView().setKLineHandler(new KLineHandler() {
    @Override
    public void onLeftRefresh() {
        kLineLayout.getKLineView().refreshComplete();
    }

    @Override
    public void onRightRefresh() {
        kLineLayout.getKLineView().refreshComplete();
    }

    @Override
    public void onSingleTap(MotionEvent e, float x, float y) {
    }

    @Override
    public void onDoubleTap(MotionEvent e, float x, float y) {
    }

    @Override
    public void onHighlight(Entry entry, int entryIndex, float x, float y) {
    }

    @Override
    public void onCancelHighlight() {
    }
});

4. 設(shè)置各個(gè)線條顏色大小

比如:

SizeColor sizeColor = kLineLayout.getKLineView().getRender().getSizeColor();
sizeColor.setXXX();

5. ikvStockChart 支持 66 個(gè)屬性配置,具體如下:

  • 1.與軸凯肋、網(wǎng)格有關(guān)的屬性和方法
xml布局 Java代碼 描述 從哪個(gè)版本起使用該屬性
app:xLabelSize setXLabelSize X 軸標(biāo)簽字符大小 0.1.0
app:xLabelColor setXLabelColor X 軸標(biāo)簽字符顏色 0.1.0
app:xLabelViewHeight setXLabelViewHeight X 軸 Label 區(qū)域的高度 0.1.0
app:yLabelSize setYLabelSize Y 軸標(biāo)簽字符大小 0.1.0
app:yLabelColor setYLabelColor Y 軸標(biāo)簽字符顏色 0.1.0
app:yLabelAlign setYLabelAlign Y 軸標(biāo)簽對齊方向 1: left, 2: right 0.1.2
app:axisSize setAxisSize 軸線條大小 0.1.0
app:axisColor setAxisColor 軸線條顏色 0.1.0
app:gridSize setGridSize 網(wǎng)格線大小 0.1.0
app:gridColor setGridColor 網(wǎng)格線顏色 0.1.0
  • 2.與高亮谊惭、MarkerView 有關(guān)的屬性和方法
xml布局 Java代碼 描述 從哪個(gè)版本起使用該屬性
app:highlightSize setHighlightSize 高亮線條大小 0.1.0
app:highlightColor setHighlightColor 高亮線條顏色 0.1.0
app:markerBorderSize setMarkerBorderSize MarkerView 邊框大小 0.1.0
app:markerBorderColor setMarkerBorderColor MarkerView 邊框顏色 0.1.0
app:markerTextSize setMarkerTextSize MarkerView 字符大小 0.1.0
app:markerTextColor setMarkerTextColor MarkerView 字符顏色 0.1.0
app:xMarkerAlign setXMarkerAlign X 軸 MarkerView 對齊方向 0.1.3
app:yMarkerAlign setYMarkerAlign Y 軸 MarkerView 對齊方向 0.1.3
  • 3.與分時(shí)圖有關(guān)的屬性和方法
xml布局 Java代碼 描述 從哪個(gè)版本起使用該屬性
app:timeLineSize setTimeLineSize 分時(shí)線大小 0.1.0
app:timeLineColor setTimeLineColor 分時(shí)線顏色 0.1.0
app:timeLineMaxCount setTimeLineMaxCount 分時(shí)圖 entry 最多個(gè)數(shù)。注:此值與 entrySet 里的 entries.size() 意義不同侮东,這里指 X 軸上最多能容納多少個(gè) entry 0.1.4
  • 4.與蠟燭圖有關(guān)的屬性和方法
xml布局 Java代碼 描述 從哪個(gè)版本起使用該屬性
app:candleBorderSize setCandleBorderSize 蠟燭圖矩形邊框大小 0.1.0
app:candleExtremumLabelSize setCandleExtremumLabelSize 蠟燭圖極值字符大小 0.1.0
app:candleExtremumLableColor setCandleExtremumLableColor 蠟燭圖極值字符顏色 0.1.0
app:shadowSize setShadowSize 影線大小 0.1.0
app:increasingColor setIncreasingColor 上漲顏色 0.1.0
app:decreasingColor setDecreasingColor 下跌顏色 0.1.0
app:neutralColor setNeutralColor 不漲不跌顏色 0.1.0
app:portraitDefaultVisibleCount setPortraitDefaultVisibleCount 豎屏默認(rèn)顯示多少個(gè)蠟燭圖 0.1.0
app:zoomInTimes setZoomInTimes 最多放大次數(shù) 0.1.0
app:zoomOutTimes setZoomOutTimes 最多縮小次數(shù) 0.1.0
app:increasingStyle setIncreasingStyle 上漲蠟燭圖填充樣式圈盔。默認(rèn)實(shí)心 0.1.4
app:decreasingStyle setDecreasingStyle 下跌蠟燭圖填充樣式,默認(rèn)實(shí)心 0.1.4
  • 5.與股票指標(biāo)有關(guān)的屬性和方法
xml布局 Java代碼 描述 從哪個(gè)版本起使用該屬性
app:maLineSize setMaLineSize MA 平均線大小 0.1.0
app:ma5Color setMa5Color MA5 平均線顏色 0.1.0
app:ma10Color setMa10Color MA10 平均線顏色 0.1.0
app:ma20Color setMa20Color MA20 平均線顏色 0.1.0
app:bollLineSize setBollLineSize BOLL 線條大小 0.1.0
app:bollMidLineColor setBollMidLineColor BOLL MID 線條顏色 0.1.0
app:bollUpperLineColor setBollUpperLineColor BOLL UPPER 線條顏色 0.1.0
app:bollLowerLineColor setBollLowerLineColor BOLL LOWER 線條顏色 0.1.0
app:kdjLineSize setKdjLineSize KDJ 線條大小 0.1.0
app:kdjKLineColor setKdjKLineColor KDJ K 線條顏色 0.1.0
app:kdjDLineColor setKdjDLineColor KDJ D 線條顏色 0.1.0
app:kdjJLineColor setKdjJLineColor KDJ J 線條顏色 0.1.0
app:macdLineSize setMacdLineSize MACD 兩條線大小 0.1.0
app:macdHighlightTextColor setMacdHighlightTextColor 高亮的 MACD 字符顏色 0.1.0
app:deaLineColor setDeaLineColor DEA 線條顏色 0.1.0
app:diffLineColor setDiffLineColor DIFF 線條顏色 0.1.0
app:rsiLineSize setRsiLineSize RSI 線條大小 0.1.0
app:rsi1LineColor setRsi1LineColor RSI 第一條線顏色 0.1.0
app:rsi2LineColor setRsi2LineColor RSI 第二條線顏色 0.1.0
app:rsi3LineColor setRsi3LineColor RSI 第三條線顏色 0.1.0
app:maTextSize setMaTextSize MA 字符大小 0.1.0
app:maTextColor setMaTextColor MA 字符顏色 0.1.0
app:bollTextSize setBollTextSize BOLL 字符大小 0.1.0
app:bollTextColor setBollTextColor BOLL 字符顏色 0.1.0
app:kdjTextSize setKdjTextSize KDJ 字符大小 0.1.0
app:kdjTextColor setKdjTextColor KDJ 字符顏色 0.1.0
app:macdTextSize setMacdTextSize MACD 字符大小 0.1.0
app:macdTextColor setMacdTextColor MACD 字符顏色 0.1.0
app:rsiTextSize setRsiTextSize RSI 字符大小 0.1.0
app:rsiTextColor setRsiTextColor RSI 字符顏色 0.1.0
  • 6.其它
xml布局 Java代碼 描述 從哪個(gè)版本起使用該屬性
app:loadingTextSize setLoadingTextSize loading 字符大小 0.1.0
app:loadingTextColor setLoadingTextColor loading 字符顏色 0.1.0
app:loadingText setLoadingText loading 字符 0.1.0
app:errorTextSize setErrorTextSize error 字符大小 0.1.0
app:errorTextColor setErrorTextColor error 字符顏色 0.1.0
app:errorText setErrorText error 字符 0.1.0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末悄雅,一起剝皮案震驚了整個(gè)濱河市驱敲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宽闲,老刑警劉巖众眨,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異容诬,居然都是意外死亡娩梨,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捺僻,你說我怎么就攤上這事奠伪〉I瘢” “怎么了惨险?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵浆洗,是天一觀的道長流炕。 經(jīng)常有香客問我稿湿,道長铅匹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任饺藤,我火速辦了婚禮包斑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘涕俗。我一直安慰自己罗丰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布再姑。 她就那樣靜靜地躺著萌抵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪元镀。 梳的紋絲不亂的頭發(fā)上绍填,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機(jī)與錄音栖疑,去河邊找鬼讨永。 笑死,一個(gè)胖子當(dāng)著我的面吹牛遇革,可吹牛的內(nèi)容都是我干的卿闹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼萝快,長吁一口氣:“原來是場噩夢啊……” “哼锻霎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起揪漩,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤量窘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后氢拥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锨侯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年嫩海,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片囚痴。...
    茶點(diǎn)故事閱讀 38,137評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡叁怪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出深滚,到底是詐尸還是另有隱情奕谭,我是刑警寧澤涣觉,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站血柳,受9級(jí)特大地震影響官册,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜难捌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一膝宁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧根吁,春花似錦员淫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至沃斤,卻和暖如春圣蝎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背轰枝。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工捅彻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鞍陨。 一個(gè)月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓步淹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親诚撵。 傳聞我的和親對象是個(gè)殘疾皇子缭裆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,520評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)寿烟,斷路器澈驼,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,869評論 6 13
  • 2017年春節(jié)將至,春運(yùn)還在緊張的進(jìn)行中筛武,很多人為購票一連排了好幾天的隊(duì)缝其,而等待他們的是一張張期盼的臉,但是最...
    零點(diǎn)書屋閱讀 376評論 0 0
  • 是誰說的徘六,你是你的滄海一栗内边,你是你的萬千可能。 都知道讀書是個(gè)好事情待锈,但堅(jiān)持下來又很難漠其。工作忙,工作累,其實(shí)這個(gè)門...
    才氣沖天的許青年閱讀 424評論 0 2