在这个 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();
点击查看更多内容
2人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦