自定义View实现天气折线图效果
Posted qy274770068
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义View实现天气折线图效果相关的知识,希望对你有一定的参考价值。
本次博客主要介绍一个天气效果的实现过程
最近公司的项目加入天气模块,需要实现下面的效果:
然后根据自己的构想实现了下面的效果:
下面会详细的介绍实现的过程。
1.构想思路
其实在拿到设计的一个效果,我们首先要做的就是去思考,怎么实现,就算不好实现,也要实现一个折中的两边都可以妥协的方案。
由于当前是要展示10天以上的天气的情况,那么如果采用一个view绘制的形式肯定会影响到性能,那其实很快就想到了ListView,这不就是一个横向的ListView的效果么,考虑到ListView并没有横向的效果,转而就想到了RecyclerView,RecyclerView的LinearLayoutManager可以直接设置为横向的,这解决了使用什么来实现的问题。
1.1最高温度和最低温度在View上面怎么绘制
这个问题不是太难,可以这样,拿到这15天的最低温度和最高温度,这个需要我们计算,从这15个最高以及最低温度里面找到最大以及最小的,然后使用这两个温度差去映射View的高度,最后可以得到需要的绘制的圆点View的Y轴的计算公式:
需要在View上面绘制的高度=(今天的温度−15天里面最低温度)View的高度15天里面最高温度−15天里面最低温度
以上是关于自定义View实现天气折线图效果的主要内容,如果未能解决你的问题,请参考以下文章