【问题标题】:How to work with TranslateAnimation in android?如何在 android 中使用 TranslateAnimation?
【发布时间】:2012-07-15 01:38:40
【问题描述】:

我已使用 TranslateAnimation 将按钮从左向右移动,但在该按钮单击之后,listiner 不适用于新位置。

【问题讨论】:

    标签: android


    【解决方案1】:

    当您使用TranslateAnimation 时,您的实际按钮位置不会改变。它只更新用于绘制按钮的Canvas 的转换矩阵。因此,您的按钮位于同一位置并从原始区域调度触摸事件,并且仅在新位置绘制。

    【讨论】:

    • 所以在动画结束时,您只需将新位置设置为按钮。
    【解决方案2】:

    只需在代码中使用setFillAfter(true) 或在xml 中使用android:fillAfter

    http://developer.android.com/reference/android/view/animation/Animation.html#attr_android:fillAfter

    http://developer.android.com/reference/android/view/animation/Animation.html#setFillAfter(boolean)

    这里还有一个解决方案,在结束事件上使用动画并设置对象的布局。

    http://pastebin.com/5dwzdJjG

    另一方面,您可以使用两个按钮,一个是当前按钮,第二个按钮放置在动画的最后一个位置,直到动画结束才可见,在动画结束时只需将第一个按钮设置为不可见第二个可见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 2012-10-10
      • 2020-09-26
      • 1970-01-01
      • 2012-01-17
      • 1970-01-01
      相关资源
      最近更新 更多