安卓开发——轨迹球Motion Track App

本文详细描述了一款Java移动应用中的控件交互逻辑,包括登录/注册功能、触摸数据的录制与回放、速度调整以及移动模块的绘制过程。重点介绍了如何通过监听事件和定时器实现轨迹跟踪和速度控制功能。
摘要由CSDN通过智能技术生成

目录

一、控件之间的逻辑。

二、移动模块的绘制,实现回放,回放速度的控制


github地址 :欢迎star!

GitHub - TsuandaoNewone/Motion-Track-App: java 移动开发作业,拖动组件移动,记录轨迹,播放轨迹,速率调整,支持倒放

              

                 

一、控件之间的逻辑。

  • Button_login

        登录按钮。获取用户名和密码,检查其合法性,并与密码本SharedPreference进行比对,通过则跳转到MainActivity页面。

  •  Button_register

        注册按钮。通过AlertDialog生成注册界面,检查用户名密码的合法性,通过后存储到SharedPreference密码本中。

  • button_playbutton_playback

        点击后开始播放录制的触摸数据。如果正在录制或正在播放,则禁止开始新的播放,并提示用户相应状态。两个按钮共用一个OnClick方法,传入不同参数。

  • button_record:

        调用timer_capture记录当前控件位置。调用timer_time记录录制时间。

  • RadioGroup

        用于选择播放速度。包含三个 RadioButton:分别代表正常速度、0.5 倍速和 2 倍速。通过监听选择的 RadioButton 来确定播放的速度。

  • SeekBar (seekBar)

        用于显示播放的进度。最大值为录制的触摸数据点的数量。在回放过程中,随着播放进度的变化,SeekBar 的进度也会相应更新。

  • ArrayList<Point> (pointsList)

        用于存储录制的触摸数据点的坐标信息。在录制过程中,会持续向 pointsList 中添加新的坐标点。在回放过程中,根据 pointsList 中的数据来控制 textView 的位置。

timer_capture 用于定时捕获当前 textView 的位置坐标,并将坐标数据存储到 pointsList 中。

二、移动模块的绘制,实现回放,回放速度的控制

移动模块的绘制

可以在布局文件中添加一个 TextView 控件(如 textView),注册触摸事件(MotionEvent)监听用户的触摸操作。在 MotionEvent.ACTION_MOVE 中获取手指移动的坐标,并根据坐标更新 textView 控件的位置(使用 textView.setX() 和 textView.setY() 方法)。

记录移动轨迹

使用timer_capture 定时捕获当前 textView 的位置坐标,并将坐标数据存储到 pointsList 中。

播放:

设置定时器 timer_capture,按照一定的时间间隔,从 pointsList 中读取坐标数据,并将 textView 控件移动到相应位置(setX(),setY()方法)

播放速度:

textView位置的捕获在Timer的run()方法中按照默认速度speed进行。textView位置的播放则根据所选的播放速度(0.5x、1x、2x),乘以speed进行播放。

反向播放:

实现回放只需反向读取pointsList中的数据。

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值