Android怎么实现仿IOS10圆盘时间选择器
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"Android怎么实现仿IOS10圆盘时间选择器",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Android怎么实现仿IOS10圆
千家信息网最后更新 2025年11月07日Android怎么实现仿IOS10圆盘时间选择器
这篇文章主要讲解了"Android怎么实现仿IOS10圆盘时间选择器",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Android怎么实现仿IOS10圆盘时间选择器"吧!
项目演示
实现思路
以720度为一个周期,0~360°对应0~12小时,360°~720°对应12~24小时
这里以"开始时间设置按钮"为例来谈谈它的滑动实现:
将"开始时间设置按钮"作为点A,表盘中心作为点O,手指触摸点作为点P.通过反正切公式可以计算出∠AOP的大小,然后随着手指的位置不断变化去更新点A的位置(即点A的角度).
// 坐标系的直线表达式// 直线l1的表达式子:过钟表中心点和开始控件中心点float a1 = mCenterY - mStartBtnCurY;float b1 = mStartBtnCurX - mCenterX;float c1 = mStartBtnCurY * mCenterX - mCenterY * mStartBtnCurX;double d1 = (a1 * eventX + b1 * eventY + c1) / (Math.sqrt(a1 * a1 + b1 * b1));// 直线l2的表达式:过钟表中心点且垂直直线l1 float a2 = b1; float b2 = -a1; float c2 = -a2 * mCenterX - b2 * mCenterY; double d2 = (a2 * eventX + b2 * eventY + c2) / (Math.sqrt(a2 * a2 + b2 * b2));// 以l1为基准线,顺势针半圆为0-180度,逆时针半圆为0-负180度 double moveDegree = Math.toDegrees(Math.atan2(d1, d2)); mStartDegree = (float) (mStartDegree + Math.floor(moveDegree)); mStartDegree = (mStartDegree < 0) ? mStartDegree + mDegreeCycle : mStartDegree % mDegreeCycle; refreshStartBtnPositon(); invalidate();
感谢各位的阅读,以上就是"Android怎么实现仿IOS10圆盘时间选择器"的内容了,经过本文的学习后,相信大家对Android怎么实现仿IOS10圆盘时间选择器这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
时间
圆盘
选择
直线
中心点
学习
位置
内容
半圆
小时
思路
手指
按钮
表达式
钟表
不断
公式
周期
坐标
坐标系
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数码网络技术防伪优点
5e2v2约战服务器分配失败
数据库查询多个学生的信息
软件开发企业增值税小规模
软件开发费用记入什么
软件开发前后端分离
连接本地数据库出错08001
数据库密码修改后
安卓 模拟器数据库
软件开发可以学哪些专业
中标麒麟桌面系统支持数据库
服务器加内存显卡异常
如何查看数据库安装日期
图片视频数据库logo
网络安全攻防个人参赛
数据库关闭
郑州网络安全培训机构
宝安区一对一学软件开发
数据库技术与应用填空题
即时通讯软件开发的几大特点
假期网络安全教育
数据库元组中的元素
网络安全专业发展
网络安全注意哪几点
无法联系dhcp服务器
计算网络技术大连理工
在阿里云买服务器多少钱
宝可梦剑盾服务器故障
网络技术带来的社会变革
常州智能化软件开发诚信服务