android - 如何使用加速度计为 View 设置动画?

标签 android android-animation android-sensors

我有以下问题:想像大多数照片应用程序在屏幕中央有一个框架。当你移动或倾斜你的设备时,框架应该留下一条轨迹,如下图所示(不是很好的例子,但我找不到更好的例子):

cursor with trail

在当前的实现中,我获得了大于特定阈值的加速度计数据,并在 Canvas 上将 Runnable 发布到 Handler 后生成动画轨迹。这个实现有缺陷吗?或者是否有更好的方法来实现此类功能?

最佳答案

我认为您想实现这两个功能,以获得更好的整体运动体验:

  1. 线性平均

您有一个类每 t 次监控加速度计数据。不要直接让测量影响您的对象,而是使用 n*t 次的平均值。因此,每个新的测量值都会添加到滚动平均值中,而一个不好的测量值对您的行为影响较小。

  1. 加速

实现加速功能可以让您的用户获得更好的加速度计来获得运动体验。 This是一篇关于如何将运动方程式应用到您的运动中的好文章。

之后,您使用的确切实现将取决于很多因素,即您的 Assets 和这些 Assets 的使用情况。将 Runnable 发布到 Handler 本质上并不是糟糕的 IPC,但如果没有看到您的一些代码,我们无法告诉您更多信息。

关于android - 如何使用加速度计为 View 设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27563924/

相关文章:

java - 静止不动时使用 TYPE_ROTATION_VECTOR 实现当前基本方向方法?

android - 如何以稳定准确的方式读取Android加速度计值?

android - 我可以模拟 Wi-Fi 连接来测试 Wi-Fi Direct 吗?

java - 如何实现类似于Google Play音乐应用的专辑屏幕的滚动效果?

android - Android 2.1 模拟器中的 VideoView 问题?

android - 如何通过 Android 中的 ActivityOptions 在 finish() 上设置动画?

android - 对 View 使用淡入动画

android - 谁调用 Activity.dispatchTouchEvent( event )?

android - 如何使 android EditText 的高度小于默认值?

java - libGDX - 以有效的方式制造脚步