废话不多说,先上效果图
- 在此特别感谢扔物线的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 bodyWeight = 60000;

本文介绍了如何使用Canvas在Android中实现一个可滑动的体重刻度尺,包括绘制刻度、手势识别和属性动画的应用。通过学习HenCoder系列,实现了从canvas小白到能编写自定义View的转变。示例代码展示了如何处理滑动事件,以及创建遮罩层实现两端透明度变化的细节。
最低0.47元/天 解锁文章
2792

被折叠的 条评论
为什么被折叠?



