Android 动画 - 按钮保持可点击状态
Posted
技术标签:
【中文标题】Android 动画 - 按钮保持可点击状态【英文标题】:Android Animation - Button stays clickable 【发布时间】:2013-08-22 09:34:40 【问题描述】:我正在制作一个游戏,其中我有 5 个buttons
,看起来像云,从“天空”落下。
这意味着当我的活动开始时,看不到“云”,因为marginTop
设置为-100dp
。
从那个位置,他们开始跌倒,直到他们迷失在屏幕的底部。
问题是,我需要那些buttons
在动画过程中是可点击的。
到目前为止,我找到了一些关于如何在动画结束后使 buttons
可点击的文档。但我不需要那个。 我需要能够通过动画时间本身点击按钮。
注意:我需要一些适用于 3.0 之前版本的东西。
有人有任何文档或示例或任何东西的链接吗?
【问题讨论】:
【参考方案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
额外的好处:您可以使图像看起来像云:)
【讨论】:
没有区别。问题是,动画改变了按钮或任何其他视图的绘制位置......而不是它的物理位置。 哦。您可以用另一种方式制作动画,使用计时器,以便每隔一定的毫秒数实际更改视图布局参数。这可能会奏效。以上是关于Android 动画 - 按钮保持可点击状态的主要内容,如果未能解决你的问题,请参考以下文章
如何使带有自定义背景图像的按钮在Android中显示点击动画