Android 如何用手指移动View

标签 android android-animation

我正在尝试根据触摸在其父级内部平滑地移动 View 。我让 OnTouchListener 工作并跟踪运动。我如何实际移动 View ?我尝试使用RelativeLayout.LayoutParameters 并设置边距,但边距仅接受int 值,这使得 View 不稳定。我尝试过使用 TranslateAnimation,它可以让我使用 float ,但这只会移动 Canvas ,所以我的触摸事件被留下。有人想出一种方法可以顺利地做到这一点吗?

最佳答案

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

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

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

另外,我不确定,但也许在相对布局上,更新边距,然后 invalidate() View 可能会起作用。

祝你好运!

关于Android 如何用手指移动View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10609473/

相关文章:

android - 无效的方法声明;需要返回类型

android - 如何在AlertDialog android中获取RadioGroup的选定索引

Android - 从 Circular Reveal (Lollipop) 中删除背景

Android ValueAnimator 在重复期间暂停

java - Android:动画自定义 View

Android textview在使用动画更改其可见性后闪烁

java - ScrollView wrap_content 高度内的 RecyclerView 未按预期工作

android - 在文本转语音停止在 Android 上说话后运行代码

java - 文本选取框不起作用

android - fragment 之间的启动画面/动画