Android仿火币K线图实现

作者: fujianlian | 来源:发表于2018-10-31 14:37 被阅读446次

    KLineChart

    仿火币K线图实现(包含MA,BOLL,MACD,KDJ,RSI,WR指标),直接集成到项目就可直接使用

    先看项目运行效果

    配置使用

    
    <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下载

    项目地址 KLineChartDemo

    相关文章

      网友评论

        本文标题:Android仿火币K线图实现

        本文链接:https://www.haomeiwen.com/subject/ocdatqtx.html