作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试根据触摸在其父项内平滑地移动 View 。我有 OnTouchListener 工作和跟踪 Action 。我实际上如何移动 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/
我是一名优秀的程序员,十分优秀!