如何使用加速度计为视图制作动画?

时间:2014-12-19 10:20:19

标签: android android-animation android-sensors

我遇到了以下问题:想象一下屏幕中央的框架,就像大多数照片应用程序一样。移动或倾斜设备时,框架应留下如下图所示的痕迹(不是很好的示例,但我找不到更好的一个):

cursor with trail

在当前的实现中,我获得了大于某个阈值的加速度计数据,并在Canvas上发布了Runnable to Handler的动画跟踪。这种实施是否有陷阱?或者有更好的方法来实现这样的功能吗?

1 个答案:

答案 0 :(得分:3)

我认为您希望实现这两个功能,以便在您的议案中获得更好的整体体验:

  1. 线性平均
  2. 您有一个班级,每隔 t 时间监控加速度计数据。而不是直接测量会影响您的对象,而是使用 n * t 次的平均值。因此,每个新测量值都会添加到滚动平均值中,而一个不良测量值对您的行为影响较小。

    1. 加速度
    2. 实施加速功能可让您的用户获得更好的加速度计以获得运动体验。 This是关于如何在您的动作中实现运动方程的好文章。

      之后,您使用的确切实施将取决于很多事情,即您的资产和这些资产的使用情况。将Runnable发布到处理程序本身并不是一个糟糕的IPC,但如果没有看到你的代码,我们就无法告诉你更多。