基于RecyclerChart的KLine怎么绘制
下面是gif的效果

代码如下:

然后就是5/10/20均线点的绘制,这里值最好Server返回,或者计算好存入数据库,然后图表每次绘制时从数据库里读取数据。所以这三个值,跟绘制没有关联。
用一个滑动窗口的管理类,外加一个队列,在原来的一次遍历的基础上处理完:
var queue:Queue= LinkedList() var sum:Float = 0f fun queueAddItem(value:Float){ queue.offer(value) sum += value } fun queueRemoveItem(){ val value = queue.poll() value?.let { sum -= value } } fun getAvg(type:Int, value: Float): Float{ queueAddItem(value) val count = queue.size if (count < type){ return value }else if (count == type){ val avg = sum/count queueRemoveItem() return avg } return -1f } }
