Android怎么实现自定义折线图控件


这篇“Android怎么实现自定义折线图控件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android怎么实现自定义折线图控件”文章吧。日前,有一个“折现图”的需求,如下图所示:如何自定义折线图?首先将折线图的绘制部分拆分成三部分:原点X轴Y轴折线第一步,需要定义出“折线图”原点的位置,由图得:可以发现,原点的位置由X轴、Y轴所占空间决定:思路:遍历Y轴的绘制文字,用画笔测量其最大宽度,在加上其左右Margin间距即Y轴宽度Y轴宽度 = Y轴MarginLeft + Y轴最大文字宽度 + Y轴MariginRight思路:获取X轴画笔FontMetrics,根据其top、bottom计算出X轴文字高度,在加上其上下Margin间距即X轴高度第二步,根据原点位置,绘制X轴轴线、网格线、文本绘制轴线比较简单,沿原点向控件右侧画一条直线即可在绘制网格线、文本之前需要先计算X轴的刻度间隔:这里处理的方式比较随意,直接将X轴等分7份即免费云主机域名可(因为需要显示近7天的数据网格线:只需要根据X轴的刻度,沿Y轴方向依次向控件顶部,画直线即可文本:文本需要通过画笔,提前测量出待绘制文本的区域,然后计算出居中位置绘制即可第三步:根据原点位置,绘制Y轴轴线、网格线、文本个人认为,这里是自定义折线图的一个难点,这里经过查阅资料,使用该文章中的算法:基于JavaScript实现数值型坐标轴刻度计算算法(echarts的y轴刻度计算)Y轴的轴线、网格线、文本剩下的内容与X轴的处理方式几乎一致折线的连接,这里使用的是Path,将一个一个坐标点连接,最后将Path绘制,就形成了图中的折线图值得注意的是:坐标点X根据间隔是相对确定的,而坐标点Y则需要进行百分比换算折线图LineChartChartOptions配置选项:Demo样式:以上就是关于“Android怎么实现自定义折线图控件”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。

相关推荐: Java设计模式的外观模式如何实现

本篇内容介绍了“Java设计模式的外观模式如何实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!外观模式(Facade Pattern)隐藏系统的复杂性,并向客…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/13 13:41
下一篇 03/13 13:41

相关推荐