Android怎么实现仿IOS10圆盘时间选择器
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要讲解了"Android怎么实现仿IOS10圆盘时间选择器",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Android怎么实现仿IOS10圆
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
文件服务器权限管理什么意思
技术法规数据库
坦克前线服务器
明日之后全角色服务器
ci框架 连接数据库
教材计算机网络技术
行业网络安全事件的处置流程
数据库文件连接
苹果手机 邮件服务器
上海星乾网络安全信息公司
六安网络安全周
大学生网络安全情况调查报告
无线网说无法联接服务器怎么回事
cod18用哪个服务器好
软件开发切界面
服务器爆炸新闻
gmod互联网搜不到服务器
思唯交换网络技术
怎么王者现在显示服务器未响应
软件开发工程师面试模板
网络安全模式鼠标键盘仍无反应
网络技术专业能做什么
绍兴市网络安全
济南艾特软件开发公司怎么样
东方财富跨股票引用数据库
上海量化投资软件开发培训
里 足浴软件开发
网络安全知识内容编辑
x58主板改造成存储服务器
平顶山网络技术是什么