GithubHelp home page GithubHelp logo

fujianlian / klinechart Goto Github PK

View Code? Open in Web Editor NEW
738.0 22.0 174.0 5.21 MB

Android仿火币K线图实现(包含MA,BOLL,MACD,KDJ,RSI,WR指标)

Kotlin 4.11% Java 95.89%
kline klineview chart android

klinechart's Introduction

KLineChart(不再维护)

Android仿火币K线图实现(包含MA,BOLL,MACD,KDJ,RSI,WR指标)

本项目是在 tifezh的KChartView 基础上进行修改的,新增了KDJ、WR指标、最大值和最小值展示,对UI展示进行了修改。

建议使用之前先查看常见问题

项目运行效果

gif

截图

app下载

二维码

配置使用

<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);
    }

自定义颜色

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>

    <color name="chart_red">#26BF66</color>
    <color name="chart_green">#FD6433</color>
    <color name="chart_line">#C9933E</color>
    <color name="chart_line_background">#1aC9933E</color>

    <color name="chart_ma5">#DA8AE5</color>
    <color name="chart_ma10">#39B0E8</color>
    <color name="chart_ma30">#FFC76D</color>
    <color name="chart_white">#ffffff</color>

    <color name="chart_background">#202326</color>
    <color name="chart_bac">#00FFFFFF</color>
    <color name="chart_point_bac">#202326</color>
    <color name="chart_grid_line">#1AFFFFFF</color>
    <color name="chart_text">#818596</color>
    <color name="chart_selector">#202326</color>
    <color name="chart_tab_background">#30343C</color>
    <color name="chart_tab_indicator">#FF6601</color>
</resources>

布局时修改KLineChartView的相关颜色即可

具体使用参照KLineChartDemo

klinechart's People

Contributors

fujianlian avatar zbd0518 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

klinechart's Issues

分时图滑动时会导致内存剧烈上升

大神请问下当加载300个分时图数据时,左右滑动查看全部数据,滑动后会导致内存剧烈上升,如果分时图处于显示状态内存不会释放,不滑动分时图内存也是正常的,这个问题要怎么解决呢?

当数值过小时,macd图 只显示一条横线

当数值过小时,macd图 只显示一条横线,但是他们基本都相差 大约 0.000001。
现在 解决办法是 将
if (Math.abs(mChildMaxValue) < 0.01 && Math.abs(mChildMinValue) < 0.01) {
mChildMaxValue = 1f;
}
注释掉,请问这 个判断的作用是什么?不处理过小的数吗?

你好,请问如何修改十字线的背景色?可以付费向阁下咨询吗?

你好,请问如何修改十字线的背景色?可以付费向阁下咨询吗?
就是长按后出现的选择器和横竖线,修改选择器的背景色是有方法的,但是横竖十字线的颜色没找到在哪儿改,能否指点一下,或者能否获取阁下的联系方式,我们希望能付费指导一下,万分感谢。

Convert to java file

While changing mainactivity.kt not getting full file cant able to run facing issue

全屏

请问如何让 K 线图像火币那样全屏

请教火币点问题

请教下,如果仿照火币,在右侧最新条数据加个发光的点和虚线,应该怎么实现?什么样的思路

指标MACD显示异常

选择指标MACD时候,下方变成了一条直线了,切换到前面的数据有一部分是不是直线的

向尾部添加数据时,尾部MA线形成一条竖线?

image
向尾部添加数据时,调用如下代码

DataHelper.calculate(kLineEntities);
kLineChartAdapter.addFooterData(kLineEntities);
kLineChartAdapter.notifyDataSetChanged();
kLineChartView.refreshComplete();

出现上图尾部那样得情况,请问可能是哪一部分出现了问题呢?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.