互动 Android 动画

Interactive Android Animation

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

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

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

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

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

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

线

这部分比较简单,前提是你已经知道如何获取用户点击的X、Y坐标。首先,您需要覆盖从屏幕中心到相应 X 和 Y 坐标的 onDraw method, which will provide you with a canvas element that you can draw on. Then, when the user touches the screen, you can very easily draw a line

圆圈

这部分也比较简单,因为Canvas还有一个drawCircle function to easily draw a circle around a given X and Y coordinate with a specified radius. To draw a circle corresponding to the user's touch event, just use the distance function计算用户触摸的X和Y坐标到屏幕坐标中心的距离,用这个作为你的圆的半径。

圆弧

动态画弧线比较难解释,女朋友一直在唠叨我陪她吃饭,但是this这个问题回答的很清楚,我觉得

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