Android仿火幣K線圖實現

fujianlian發表於2018-11-01

KLineChart

仿火幣K線圖實現(包含MA,BOLL,MACD,KDJ,RSI,WR指標),直接整合到專案就可直接使用

先看專案執行效果

Android仿火幣K線圖實現

Android仿火幣K線圖實現

配置使用


<com.github.fujianlian.klinechart.KLineChartView

    android:id="@+id/kLineChartView"

    android:layout_width="match_parent"

    android:layout_height="match_parent" />

複製程式碼

主圖和附圖初始化


// KLineChartView

private void initView() {

    ...

    // 依次新增副圖子檢視

    addChildDraw(mMACDDraw);

    addChildDraw(mKDJDraw);

    addChildDraw(mRSIDraw);

    addChildDraw(mWRDraw);

    // 設定成交量檢視

    setVolDraw(mVolumeDraw);

    // 設定主檢視

    setMainDraw(mMainDraw);

}

複製程式碼

BaseKLineChartView


// 主圖顯示隱藏呼叫

public void changeMainDrawType(Status status) {

    if (mainDraw != null && mainDraw.getStatus() != status) {

        mainDraw.setStatus(status);

        invalidate();

    }

}

// 主檢視當前子檢視

public enum Status {

    MA, BOLL, NONE

}

// 設定子檢視,position依據初始化新增先後順序下標

public void setChildDraw(int position) {

        if (mChildDrawPosition != position) {

            if (!isShowChild) {

                isShowChild = true;

                initRect();

            }

            mChildDraw = mChildDraws.get(position);

            mChildDrawPosition = position;

            isWR = position == 5;

            invalidate();

        }

    }

// 子檢視隱藏

public void hideChildDraw() {

        mChildDrawPosition = -1;

        isShowChild = false;

        mChildDraw = null;

        initRect();

        invalidate();

    }

複製程式碼

KLineChartView


// 是否顯示為分時圖

public void setMainDrawLine(boolean isLine) {

        mMainDraw.setLine(isLine);

    }

複製程式碼

app下載

Android仿火幣K線圖實現

專案地址 KLineChartDemo

相關文章