Android通过Canvas手绘一个折线图
简述
Android绘制图表,有强大的 MPAndroidChart,适合图表功能需求大的应用。至于如下图一个简单的展示作用的折线图还是可以自己封装手绘一个的
这个就是要实现的最终效果
定义的Style
<declare-styleable name="BrokenLineView"><attr name="isShowXBorderLine" format="boolean"/><attr name="isShowYBorderLine" format="boolean"/><attr name="XBorderLineColor" format="color"/><attr name="YBorderLineColor" format="color"/><attr name="XBorderLineWidth" format="dimension"/><attr name="YBorderLineWidth" format="dimension"/><attr name="XTextColor" format="color"/><attr name="XTextSize" format="dimension"/><attr name="XTextPadding" format="dimension"/><attr name="YTextColor" format="color"/><attr name="YTextSize" format="dimension"/><attr name="YTextPadding" format="dimension"/><attr name="isShowSolid" format="boolean"/><attr name="solidColor" format="color"/><attr name="circleRadius" format="dimension"/><attr name="circleColor" format="color"/><attr name="isCircleSolid" format="boolean"/><attr name="isShowCircle" format="boolean"/><attr name="BrokenLineWidth" format="dimension"/><attr name="BrokenLineColor" format="color"/><attr name="xUnitValue" format="integer"/><attr name="yUnitValue" format="integer"/></declare-styleable>
name | 类型 | 描述 |
---|---|---|
isShowXBorderLine | boolean | 是否显示X轴方向的分割线 |
isShowYBorderLine | boolean | 是否显示Y轴方向的分割线 |
XBorderLineColor | color | X轴方向分割线显示颜色 |
YBorderLineColor | color | Y轴方向分割线显示颜色 |
XBorderLineWidth | dimension | X轴方向分割线宽 |
XBorderLineWidth | dimension | Y轴方向分割线宽 |
XTextColor | color | X轴方向标识符字体颜色 |
XTextSize | dimension | X轴方向标识符字体大小 |
XTextPadding | dimension | X轴方向标识符字体与X轴间距 |
YTextColor | color | Y轴方向标识符字体颜色 |
YTextSize | dimension | Y轴方向标识符字体大小 |
YTextPadding | dimension | Y轴方向标识符字体与Y轴间距 |
isShowSolid | boolean | 是否绘制折线和X轴之间的透明背景 |
solidColor | color | 折线和X轴之间的透明背景颜色 |
circleRadius | dimension | 折线上绘制圆点的半径 |
circleColor | color | 折线上绘制圆点的颜色 |
isCircleSolid | boolean | 折线上绘制圆点是实心还是空心 |
isShowCircle | boolean | 是否绘制折线上的圆点 |
circleColor | color | 折线上绘制圆点的颜色 |
BrokenLineWidth | dimension | 折线线宽度 |
BrokenLineColor | color | 折线线颜色 |
xUnitValue | integer | X轴一个标识的单位量 |
yUnitValue | integer | Y轴一个标识的单位量 |
对应的方法
- setXUnitValue(value:Int)
设置X轴一个标识符单位量
- setYUnitValue(value:Int)
设置Y轴一个标识符单位量
- setXTextUnits(textUnits:List)
设置X轴方向的标识符,包括原点
- setYTextUnits(textUnits:List)
设置Y轴方向的标识符,不包括原点
- setDateList(dataList:List)
设置折线描点
- startDraw()
开始绘制
使用
- 依赖
allprojects {repositories {...maven { url 'https://jitpack.io' }}
}
dependencies {compile 'com.github.Goach:ChartSimple:1.0.0'
}
- 布局
<com.goach.widget.BrokenLineViewandroid:id="@+id/brokenView"android:layout_width="300dp"android:layout_height="300dp"/>
同时也可以结合上面Style使用
- 使用默认配置
brokenView.setDateList(mutableListOf(Point(1,2999), Point(2,1555), Point(3,10000), Point(4,6000), Point(5,5098), Point(6,1890))).startDraw()
- 使用自定义的配置
brokenView.setXUnitValue(1).setYUnitValue(2000).setXTextUnits(mutableListOf("0","1","2","3","4","5","6")).setYTextUnits(mutableListOf("2000元","4000元","6000元","8000元","10000元")).setDateList(mutableListOf(Point(1,2999), Point(2,1555), Point(3,10000), Point(4,6000), Point(5,5098), Point(6,1890))).startDraw()
详细路径ChartSimple-Github,ChartSimple-CSDN
Android通过Canvas手绘一个折线图相关推荐
- php 六边形 属性图 能力数值图,详解基于 Canvas 手撸一个六边形能力图
一.前言 六边形能力图如下,由 6 个 六边形组成,每一个顶点代表其在某一方面的能力.这篇文章我们就来看看如何基于 canvas 去绘制这么一个六边形能力图.当然,你也可以基于其他开源的 js 方案来 ...
- 用计算机软件绘制思维导图和手绘思维导图,手绘思维导图与计算机思维导图的对比...
计算机思维导图有许多功能上的优势,而且能够快速复制有机思维的流动性,但是手绘思维导图所具有的优势是一些计算机思维导图所没有具备的. 如果没有计算机可供使用,如果时间有限,如果会议的思想的顺序不明显,那 ...
- 用计算机软件绘制思维导图和手绘思维导图,原来手绘思维导图的好处这么多,你还在用软件画导图吗?...
原标题:原来手绘思维导图的好处这么多,你还在用软件画导图吗? 思维导图在快速阅读和记忆训练中具有重要作用.通常能否手绘思维导图成为了是否学会思维导图的标志. 有些初学者会说,现在科技发展了,有很多思维 ...
- 手绘思维导图的学习技巧
iMindMap思维导图包含的模板,除一般的样式,还有独家手绘风格思维导图,线条自由且美观,满足多数人的需求,总有很多人在学习手绘思维导图iMindMap时,想要寻求技巧,使得手绘风格的导图更加好看, ...
- 手绘思维导图:第8,9章知识点总结
手绘思维导图: 周一上课就画好的,手绘的一般般,总之画的时候要先有个总体的知识点的轮廓,才不至于画到最后空间不够.感觉这是一个很好的复习,总结的方式!
- 用计算机探索规律的思维导图,手绘思维导图与计算机的完美结合
原标题:手绘思维导图与计算机的完美结合 对于思维导图是手绘好还是计算机更为高效,是众多思维导图爱好者的一大争论点,小编发现貌似有了解决方法,因为手绘思维导图软件的出现. 看到有人用iMindMap思维 ...
- 含泪整理最优质手绘/插画矢量图素材,你想要的这里都有
前方注意,建议先收藏再看哦!为大家整理手绘/插画矢量图素材,总有满足你需求的一款,除此之外,免费,资源质量好,一键打包下载,你还不心动吗? 因为小编的工作原因,经常会使用到手绘/插画矢量图资源,所以自 ...
- 5秒钟内将手绘网站线框图转换为可用的 HTML网站
选自InsightDataScience 作者:Ashwin Kumar 机器之心编译 参与:乾树.李泽南 在人们的不断探索下,「使用人工智能自动生成网页」的方法已经变得越来越接近实用化了.本文介绍的 ...
- 用计算机软件绘制思维导图和手绘思维导图,用计算机软件绘制思维导图和手绘思维导图各有优势。()...
等因匹配考虑又要程度素的,用计有优般原的一遵循既要经济规模理,的选择纪机企业构对规模产经房地. 以下有(中正确的说法,算机思维势凭证会计关于. 必须凭证凭证原始记账附有,软件的记以不账凭证可证更正错误 ...
最新文章
- 一文读懂汇编程序的多个分段的程序--详解
- 各自然带代表植被_必备知识:植被与地理环境
- 高级php平时的工作,【高级PHP开发工作内容|工作职责|高级PHP开发做什么】-看准网...
- JVM 优化经验总结
- 如何用python做计算软件_如何用Python写一个计算器软件 附带效果图
- 用户空间与内核空间数据交换的方式(3)------seq_file
- ios人脸照片_iOS人脸识别
- Java数据结构与算法之堆排序
- 如何突破社会阶层,向上进阶?
- 三星BESPOKE家电系列海外发布会看点一览,定制化设计成未来家居首选
- 百度分享链接批量转存到百度网盘
- 群接龙脚本autojs总结and精美ui
- margin: 0 auto;的作用
- 单片机第四次实验课——外部中断实验
- 阿里实习生电话面试总结
- ansys【经典】——查看应力应变分布
- transition详解
- Unity3D魔方游戏如何完成魔方的旋转
- [typescript] ERROR TS18003: No inputs were found in config file ‘tsconfig.json‘. Specified ‘include‘
- symfony ajax,Symfony2 AJAX登录