【问题标题】:Android Animation - Button stays clickableAndroid 动画 - 按钮保持可点击状态
【发布时间】:2013-08-22 09:34:40
【问题描述】:

我正在制作一个游戏,其中我有 5 个buttons,看起来像云,从“天空”落下。 这意味着当我的活动开始时,看不到“云”,因为marginTop 设置为-100dp。 从那个位置,他们开始跌倒,直到他们迷失在屏幕的底部。

问题是,我需要那些buttons 在动画过程中是可点击的。

到目前为止,我找到了一些关于如何在动画结束后使 buttons 可点击的文档。但我不需要那个。 我需要能够通过动画时间本身点击按钮。

注意:我需要一些适用于 3.0 之前版本的东西。

有人有任何文档或示例或任何东西的链接吗?

【问题讨论】:

    标签: android android-animation android-button clickable


    【解决方案1】:

    经过一番研究,我发现有两种类型的动画:

    视图动画和属性动画。

    视图动画只能动画视图对象。它还缺少各种动画,因为它只能做缩放、旋转、移动等操作……例如,它不能改变背景颜色。 另外,View Animation 的缺点是它只会改变 View 对象 DRAWN 的位置。在物理上,它仍然保持在相同的位置。 这就是按钮在 View Animation 完成后无法点击的原因。

    另一方面,Property Animation 可以为 View 和非 View 对象设置动画,并且它没有 View Animation 的约束。 当对象被移动时,例如,使用属性动画,它们不仅被绘制在屏幕上的某个其他位置,而且它们实际上是MOVED在那里。

    现在,Property Animation 比 View Animation 写起来要复杂得多,所以如果你真的不需要 Property Animation 的所有优点,建议使用 View Animation。

    来源: Property vs View Animation

    教程和 SupportLybrary 直到 API 1: nineoldandroids

    【讨论】:

      【解决方案2】:

      您可以将按钮更改为 imageViews 然后做

       imageView.setOnClickListener(myListener)
      

      然后将 myListener 设置为执行您之前希望在按钮 onClick 上发生的任何事情。您的活动必须实现 OnClickListener

      额外的好处:您可以使图像看起来像云:)

      【讨论】:

      • 没有区别。问题是,动画改变了按钮或任何其他视图的绘制位置......而不是它的物理位置。
      • 哦。您可以用另一种方式制作动画,使用计时器,以便每隔一定的毫秒数实际更改视图布局参数。这可能会奏效。
      猜你喜欢
      • 2015-10-02
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多