java - Matrix.setTranslate() 只平移View 的视觉表面而不平移可点击区域?

标签 java android animation

我创建了一个简单的 Animation 派生类,并向 View 添加了一个 onclick 监听器(在本例中为 LinearLayout,只是为了快速验证概念),该监听器在对象上调用 startAnimation(将我的实例传递给它)类(class))。在我的 Animation 类中,我只是获取对 Translation 的 Matrix 对象的引用并调用 setTranslate。因此,翻译看起来不错,但如果我尝试再次单击我现在看到对象的位置(翻译后的位置),则没有任何反应。如果我回到原来的位置并单击,它会从相同的起点重复相同的动画。我的印象是翻译实际上会翻译对象本身,而不仅仅是视觉表示。有没有办法做我期望在动画课上发生的事情?或者,还有其他一些标准方法可以做这种事情吗?任何洞察为什么这种行为是这样的?谢谢。

最佳答案

没有文档说明它只修改矩阵。如果你想真正改变系统对 View 的解释的其余部分,设置一个动画监听器来设置动画结束时的位置。

关于java - Matrix.setTranslate() 只平移View 的视觉表面而不平移可点击区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2113708/

相关文章:

java - Netbeans 中没有哪些新的 Swing 组件?

java - 使用 Camel 进行 REST 服务调用,需要先调用身份验证 api

java - 无法使用 Struts 将文件上传到 MySQL

java - 构造更小的 ArrayList 的 ArrayList

iphone - 以编程方式使用要设置动画的图像填充数组

java - 从其中一个 fragment 内部切换 fragment

android - ImageView 适合而不拉伸(stretch)图像

android - 如何设置 UnderlineSpan 的颜色?

java - 开始下一个 moveTo 操作时出现小滞后

ios - 如何修复 : Type 'String' does not conform to protocol 'SequenceType' in Swift