2

我正在尝试根据触摸在其父级内部平滑移动视图。我有 OnTouchListener 工作和跟踪动作。我如何实际移动视图?我试过使用 RelativeLayout.LayoutParameters 并设置边距,但边距只接受 int 值,这使得视图抖动。我尝试过使用 TranslateAnimation,它可以让我使用浮点数,但这只会移动画布,所以我的触摸事件被抛在了后面。有没有人想出一种方法来顺利地做到这一点?

4

1 回答 1

2

最好的解决方案是重写一个自定义 ViewGroup 子类,这会折磨你的灵魂。如果成功,请确保您有超人的神经:)。

第二种解决方案更简单,但当且仅当您的视图包含图像时才有效。因此,您可以编写自定义 View 子类并在 onDraw() 方法的 Canvas 上细化图像。

我的最后一个解决方案是 OpenGL。

另外,我不确定,但可能在相对布局有点布局更新边距,然后 invalidate() 视图可能会起作用。

祝你好运!

于 2012-05-15T22:26:48.943 回答