Android怎么实现仿IOS10圆盘时间选择器
发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,这篇文章主要讲解了"Android怎么实现仿IOS10圆盘时间选择器",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Android怎么实现仿IOS10圆
千家信息网最后更新 2024年11月12日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安全错误
数据库的锁怎样保障安全
医学网络技术考试
hp 服务器 安全启动不了
网络安全防范技术主要包括
web服务器banner
成都一汽大众软件开发待遇
网络安全基金什么时候申请啊
服务器软件运营管理
捕鱼达人服务器
建邺区网络技术服务共同合作
vc读取mdb数据库
c 连接db2数据库
浙江无线网络技术应用
稳健安全的视频聊天软件开发
linux服务器密码忘了
昌信网络技术招聘
湖南数据库日志审计管理系统
上海银联软件开发
大数据库都包括哪些
iec服务器好还是迷你好
笔记本怎么断开数据库
对网络技术基础的技能认识与了解
变速箱软件开发工程师
海口高科技博物馆软件开发
对5g应用有利的网络安全股
网络安全总监招聘
把网络安全摆在首要位置
优秀网络安全画
网络安全宣传幼儿
腾讯云服务器清空
尖峰网络安全ppt