Android 自定义时钟浅析

最有趣,最好玩的东西,一定是高度灵活的东西,今天我们以自定义View的方式来实现一个表盘样式的时钟,并自动设置为当前时间,因为感觉网上的直接能运行的代码很少,思路也很麻烦,所以今天封装一个供大家参考,后续会追加源码。
注:本次没有使用旋转画布来实现,换个思路,玩玩三角函数。
本项目源码不要直接用于项目,因为太懒,所以所有对象的实例化都放在了onDraw方法中,注意思路,自己增加图层优化一下即可。

后续的会提供一个通过旋转画布实现的可直接用于项目的仪表进度条。
(Gradle Build)

原创帖,转载请注明出处,开源思想,欢迎关注探讨Github:https://github.com/Zjinji/ViewClock
作者:尽际

目录

  • Android 自定义时钟浅析

    • 目录
    • 学习流程
      • 基础知识
      • 计算技巧
      • Have Fun附上截图

学习流程:

  • 基础知识

  • 计算技巧

  • Have fun

基础知识

1、三角函数
2、Math类
3、Paint
4、Canvas
没啥说的,感觉你们一看注释详细的源码啥都懂了。

计算技巧

1、正切 余切 为周期性运转的函数,所以呢,绘制表盘刻度的时候,可以直接使用通项公式:
一个小刻度为6°,Math计算传参为弧度制,转换一下即可,以下为伪码。
    //画线段://起始x坐标cx + r * (float)Math.sin(Math.toRadians(i * 6))//起始y坐标cy - r * (float)Math.cos(Math.toRadians(i * 6))//结束x坐标cx + (r - s) * (float)Math.sin(Math.toRadians(i * 6))//结束y坐标cy - (r - s) * (float)Math.cos(Math.toRadians(i * 6))//什么?你问i是什么?请看:for(int i = 0; i <= 59; i++){}//你问59是什么?:)
好了,刻度用循环可以弄出来了,那秒针,分针,时针不全出来了么。
1秒:秒针转动6°分针转动1/10°时针转动1/120°剩下的不用多说咯。刚才i*α中的α从6分别改成1/10,1/120就行了。:)

Have Fun(附上截图)

因为对于你们过于简单,核心讲解完了,没啥好说了感觉。

源码传送门:免积分分享给大家
[自定义ClockView时钟]http://download.csdn.net/detail/z279868688/9669186

PS:Github以及这里会持续更新Android有趣的开发。欢迎关注探讨。

Android 自定义View 时钟效果相关推荐

  1. [Android]自定义View带效果的滚动数字

    [Android]自定义View带效果的滚动数字 @Author GQ 2016年07月29日 一个可以让数字滚动的View,可以自定义参数,是想要的那种效果! 原文github地址 效果图 Andr ...

  2. android 自定义view 动画效果,Android自定义view实现阻尼效果的加载动画

    效果: 需要知识: 1. 二次贝塞尔曲线 2. 动画知识 3. 基础自定义view知识 先来解释下什么叫阻尼运动 阻尼振动是指,由于振动系统受到摩擦和介质阻力或其他能耗而使振幅随时间逐渐衰减的振动,又 ...

  3. android 自定义view 动画效果,Android自定义view----音乐播放动画

    先给大家看一下效果,因为我也不知道这个东西具体叫什么,标题上面写的是"音乐播放动画",可能描述的不太准确. 效果图.gif 前言 最近项目中做了一个音频播放的功能,播放条上需要一个 ...

  4. android自定义起止时间的时间刻度尺,Android 自定义View篇(六)实现时钟表盘效果...

    前言 Android 自定义 View 是高级进阶不可或缺的内容,日常工作中,经常会遇到产品.UI 设计出花里胡哨的界面.当系统自带的控件不能满足开发需求时,就只能自己动手撸一个效果. 本文就带自定义 ...

  5. Android 自定义View(四)实现股票自选列表滑动效果

    一.前言 Android 开发过程中自定义 View 真的是无处不在,随随便便一个 UI 效果,都会用到自定义 View.前面三篇文章已经讲过自定义 View 的一些案例效果,相关类和 API,还有事 ...

  6. Android自定义View分享——仿网易云音乐留声机效果

    写在前面 这是笔者自学习自定义View以来,分享的第五篇效果,之前分享过一篇动态时钟效果的自定义View,如果有兴趣的可以看看: Android自定义View分享--一个时钟 之前的博客笔者一般都会说 ...

  7. Android自定义View——仿ViVO X6 极速闪充动画效果

    一直都在看自定义View,经过一个星期的坚持,基本上能够写出一些比较实用的控件效果了,今天天气太热,就待在家里玩手机,然后手机没电了,在充电的时候,看到了手机的充电动画,觉得挺酷,然后自己我就仔细的分 ...

  8. android代码实现手机加速功能,Android自定义View实现内存清理加速球效果

    Android自定义View实现内存清理加速球效果 发布时间:2020-09-21 22:21:57 来源:脚本之家 阅读:105 作者:程序员的自我反思 前言 用过猎豹清理大师或者相类似的安全软件, ...

  9. android中仿qq最新版抽屉,Android 自定义View实现抽屉效果

    Android 自定义View实现抽屉效果 说明 这个自定义View,没有处理好多点触摸问题 View跟着手指移动,没有采用传统的scrollBy方法,而是通过不停地重新布局子View的方式,来使得子 ...

最新文章

  1. java7特性_Java7特性中,abstract class和interf
  2. 使用Spring MVC 4构建Restful服务
  3. 445port入侵具体解释
  4. 开源项目托管GitHub的使用详述
  5. 九零后程序员心塞大哭:“我累的心脏疼,父母却说我工作很轻松”
  6. 空类-自动生成的函数
  7. Rails 开发小贴士积累
  8. VMware虚拟机中不识别移动硬盘
  9. Android:安卓线性布局(属性)
  10. java 加锁_Java中的重重“锁”事
  11. 使用 Python 构建电影推荐系统
  12. 电影售票系统项目介绍
  13. Mybatis-plus 代码生成器(新)工具类
  14. python地区房价数据分析_数据分析——房价分析
  15. C语言中char字符为0时的情况,c语言中char的用法
  16. 算法复杂度和合并果子题解
  17. 微信小程序一定要设置服务器域名,微信小程序 设置域名 必须是https么
  18. Redis的发布订阅
  19. tf15: 中文语音识别
  20. 研大考研不是骗子:考研政治时事之破除国企岗位

热门文章

  1. No module named 'pylab'解决
  2. 上海5月社保费缴纳时间安排,缴费减免了多少?应该缴纳多少?
  3. jetpack之LifeCycle
  4. centos8下重启网卡命令_Centos8 重启网卡方法
  5. centos命令失效_CentOS 7 常见命令、问题及解决方式
  6. 5G ToB业务介绍及时延需求
  7. 小时光扫地机器人圆圆_小时光:顾未易取名太奇葩!扫地机圆圆,儿子叫末未,群名更硬核...
  8. 使用PS(Photoshop)软件手动去除谷歌地球影像的色差
  9. 农耕不再靠“天意”,中科赛诺用百度飞桨打造智能“地脸识别”
  10. Linux系统安装Vue环境并启动服务