使用特定半径在圆形路径上移动ImageView

3

我已经阅读了所有与动画相关的帖子,但无法找到实现我所要求内容的方法。

我被要求在一个特定半径的圆形路径上移动一张图片,就像这个链接中的例子:http://www.4shared.com/photo/RtYILTLO/circularpath.html

我了解动画的基本知识,但仅此而已。任何类型的教程或提示都将受到热烈欢迎。

谢谢

更新1:

我正在寻找一个示例,该示例可以沿着某条路径动画地显示视图,并找到了这个http://code.google.com/p/android-path-animation/

此代码将按钮沿复杂的曲线路径移动,我尝试制作一个圆圈,但是失败了,有人可以帮我稍微修改一下这个代码,使按钮沿圆形路径移动吗?

谢谢


啊,终于我做了一些研究并找到了解决自己问题的方法。不再使用动画来使对象/视图在圆形路径上旋转,而是将(x,y)坐标存储在圆形参数的数组中,并使用处理程序每秒更改视图参数,从而使视图平稳地在圆形路径上旋转。 - ark
你是在view的onDraw方法中完成了所有这些吗? - Rat-a-tat-a-tat Ratatouille
不要只在 onCreate() 方法里编写代码。如果您不理解,我可以提供一些代码示例。 - ark
我有画布,也就是SurfaceView和一个移动六个球的线程。问题是我还有另一个同时进行的动画,但是SurfaceView的线程似乎占据了所有优先权,另一个动画变慢了。为什么会这样? - Rat-a-tat-a-tat Ratatouille
我需要一点帮助。我无法像预期的那样移动球:(。我设法做到了,但是我还有另一个动画与此同时进行,所以它会在某种程度上阻塞主线程。 - Rat-a-tat-a-tat Ratatouille
你能提供一份示例代码帮助我吗?我遇到了这样的问题。 - Bette Devine
1个回答

1

首先,请更新这个链接,它无法使用!

要在LolliPop之后创建圆形动画路径,请使用此代码作为Google 建议

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
  Path path = new Path();
  path.arcTo(0f, 0f, 1000f, 1000f, 0f, 359f, true); //with first four parameters you determine four edge of a rectangle by pixel , and fifth parameter is the path'es start point from circle 360 degree and sixth parameter is end point of path in that circle
  ObjectAnimator animator = ObjectAnimator.ofFloat(view, View.X, View.Y, path); //at first parameter (view) put the target view
  animator.setDuration(2000);
  animator.start();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接