代码之家  ›  专栏  ›  技术社区  ›  Rich

Matrix.setTranslate()只转换视图的可视表面,而不是可单击区域?

  •  4
  • Rich  · 技术社区  · 15 年前

    我创建了一个简单的动画派生类,并将onclick监听器添加到一个视图(在本例中是一个LinearLayout,只是为了快速证明概念)中,该视图在对象上调用startAnimation(传递我的类的一个实例)。在我的动画类中,我只需获得对翻译矩阵对象的引用并调用setTranslate。所以,翻译看起来不错,但是如果我再次尝试单击我现在看到的对象(翻译的位置),什么也不会发生。如果我回到原始位置并单击,它将从相同的起点重复相同的动画。我的印象是,翻译实际上会翻译对象本身,而不仅仅是视觉表现。有没有一种方法可以达到我对动画课的期望?或者,有其他标准的方式来做这种事情吗?你对这种行为的本质有什么看法吗?谢谢。

    2 回复  |  直到 15 年前
        1
  •  0
  •   Greg Giacovelli    14 年前

    没有,文档中说它只修改矩阵。如果要实际更改系统对视图的其余解释,请设置动画侦听器,以设置动画结束时的位置。

        2
  •  0
  •   SoManyGoblins    13 年前