Android 开发:使用绘制基金图表类(带缓存的图表类)

来源:互联网 发布:python post 请求截取 编辑:程序博客网 时间:2024/05/16 11:08

在这个 dileber框架 是由我们面包派工作室编写的这套代码(希望大家多捧场,star一下),今天我在上面添加了一个,绘制折线图类,可以绘制基金图表。
这个类可以绘制多条线,并且在里面加入了触控,和缓存,触控可以回调;可以添加图表标识。
制作出的图表这样:
这个是单线的
图片描述
这个是多线的,图上是两线的,还可以更多线:
图片描述

这个类在框架里的名字叫:QuXianChatView这个view使用如下,你要在你的xml里配置        <com.drcosu.ndileber.view.QuXianChatView            android:id="@+id/new_fund_detail_center_chart"            android:layout_width="match_parent"            android:layout_height="200dp"/>之后在你的代码里写//这个是刷新缓存的标志,如果你只有一个图的话可以不用设置。而我的项目里是点击切换多个表,需要设置清除缓存baseFundChartView.setRefData(true);设置图标识,可以在这里设置,也可以在回调里设置,我的需求是要每次触摸要重新写标识,我就在回调里写了 baseFundChartView.setText(null);//设置回调,每次触摸成功回调(这里有触摸重复判断) baseFundChartView.setOnFundChat(new BaseFundChartView.OnFundChat() {                    @Override                    public void onRefChatText(BaseFundChartView view, int x) {                        if(x<tongleiMapData.get(spaceEnum).size()){                            List<String> list = new ArrayList<String>();                            list.add("时间:"+tongleiMapXTime.get(spaceEnum).get(x));                            list.add("同类排名:"+(int)((float)tongleiMapData.get(spaceEnum).get(x)));                            view.setText(list);                        }                    }                });//设置纵轴的数字保留几位 baseFundChartView.setFormat(TNum.moneyFormat(point,keep));//设置有几条虚线 baseFundChartView.setyCount(count);//设置起始(纵轴左下角的起始点) baseFundChartView.setyStart(max);//设置结束(纵轴左上角的结束点) baseFundChartView.setyStop(min);//设置x轴(必须与数据的数量一样) baseFundChartView.setDateX(dateX);//设置数据(List<List<Float>> 这种格式,List<Float>是数据,外面表示多组) baseFundChartView.setData(datam);//设置颜色的数组(按照数据的顺序给颜色) List<Integer> colors = new ArrayList<>(); colors.add(Color.rgb(55,161,236)); colors.add(Color.rgb(255,149,0)); colors.add(Color.rgb(255,27,26)); baseFundChartView.setColors(colors);//刷新当前图表 baseFundChartView.invalidate();
0 0
原创粉丝点击