【问题标题】:Interactive Android Animation交互式安卓动画
【发布时间】:2017-05-20 20:06:27
【问题描述】:

我正在尝试在 android 中实现交互动画,用户可以在其中更改对象的大小并通过交互旋转它。

这并不是我想要实现的,而是类似的。

我想允许用户改变角度线“p”并且角度“a”应该改变。移动 'p' w.r.t 中心应该可以改变形状的大小。

我已经尝试过 Animation 和 Animator 类,但它们并不能完全达到目的。

我不要求任何代码,我只需要一个指针就可以实现它。

【问题讨论】:

  • 您可以创建一个自定义视图并覆盖onDraw 方法来绘制圆和射线。然后添加一个触摸监听器来处理几何操作
  • 您不确定触摸交互、绘制东西还是绘制您想要的东西背后的数学原理?
  • @ShaneDuffy 我知道触摸交互,我不确定绘图和操作。
  • @akash93 你能详细说明一下吗?它是 Canvas 的一部分,对吧?

标签: android animation interaction user-interaction


【解决方案1】:

据我所知,您希望线、圆和“a”标记的弧相对于“p”发生变化,这将是用户触摸的位置。

一线

这部分比较简单,假设你已经知道如何获取用户点击的X和Y坐标。首先,您需要覆盖onDraw 方法,该方法将为您提供一个可以使用的canvas 元素。然后,当用户触摸屏幕时,您可以非常轻松地draw a line 从屏幕中心到相应的 X 和 Y 坐标。

圆圈

这部分也相对简单,因为 Canvas 还有一个drawCircle 函数,可以轻松地在给定的 X 和 Y 坐标周围以指定的半径绘制一个圆。要绘制一个对应用户触摸事件的圆,只需使用distance function计算用户触摸X和Y坐标到屏幕坐标中心的距离,并将其作为圆的半径。

弧线

动态画一条弧线比较难解释,我女朋友一直在唠叨我要和她一起吃晚饭,但this的问题很清楚地回答了,我想。

另外请注意,您可能需要在每次触摸事件时清除画布,以免之前的所有绘图开始相互堆叠。干杯。

【讨论】:

  • 谢谢伙计。这种工作。至少给了我一个指针。我从这个开始,最后到达某个地方。感谢您的详细解释。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-14
  • 1970-01-01
  • 2011-11-15
  • 2011-12-04
  • 1970-01-01
相关资源
最近更新 更多