在这个 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();