废话不多说,先上效果图
- 在此特别感谢扔物线的HenCoder系列,目前已更新了8章内容,让我从一个纯canvas小白变成了canvas小菜。
- 刻度尺效果是仿写HenCoder公众号中《仿写酷界面》中的薄荷健康的滑动卷尺效果,效果图如下:
- 网上已经有很多大神都写过类似的刻度尺,我是抱着学习canvas的态度来写的,做得不好还请指教
需求分析
- 绘制刻度
- 可滑动,滑动停止后自动移动到最近刻度
- 增加了两边透明度变化
涉及知识点
- canvas绘制
- 属性动画
- GestureDetector手势识别器
大概的实现过程
首先放上所有成员变量
/**
* 最大的滑动速度
*/
private static final int MAX_FLING_SPEED = 6000;
private static final String KG = "kg";
private static final int ONE_KG = 1000;
/**
* 最大的可滑动过去的体重数 默认:3公斤
*/
private static final int MAX_FLING_WEIGHT = 3000;
/**
* 最大的滑动动画持续时间
*/
private static final int MAX_FLING_WEIGHT_DURATION = 1000;
private LinearOutSlowInInterpolator mLinearOutSlowInInterpolator = new LinearOutSlowInInterpolator();
/**
* 最小体重:30kg
*/
private int minWeight = 30000;
/**
* 最大体重:200.0kg
*/
private int maxWeight = 200000;
/**
* 默认体重为60.0kg
* 数字单位为g
*/
private int bodyWeigh