【问题标题】:Alpha animation bug on button按钮上的 Alpha 动画错误
【发布时间】:2012-12-06 23:01:27
【问题描述】:

我有淡入按钮(alpha 从 0 到 1)和淡出按钮(alpha 从 1 到 0)的动画。这部分工作正常。按钮 A 触发按钮 B 的淡入。按钮 B 触发其自身的淡出。

按钮 B 完全覆盖了按钮 A。这个想法是按钮 B 包含一个像信息弹出窗口一样使用的图像。按钮 A 被触摸,按钮 B 淡入顶部。当按钮 B 被触摸时,它会再次淡出。

最初,按钮 B 的可见性设置为 INVISIBLE,当动画淡入完成后,它设置为 VISIBLE。单击按钮 B 时,它会淡出,然后我将可见性设置为不可见。

问题是Button B淡出后,设置为INVISIBLE后,即使不可见,仍然可以点击,并且Button A没有接收到触摸。

我已经尝试从父级移除按钮 B 并在动画完成后重新添加它,这允许触摸到达按钮 A,但只有一次。之后按钮 B 不再可触摸。

【问题讨论】:

  • 我在这里根本看不到任何问题。你有吗?

标签: android animation button touch alpha


【解决方案1】:

不要将按钮设置为不可见,而是使用:

buttonB.setVisibility(View.GONE);

此外还可以设置:

buttonB.setClickable(false);

问候。

【讨论】:

  • 好主意,但 buttonB 在使用 GONE 时仍在捕获事件。我移动了 buttonB,使它只覆盖了 ButtonA 的一半。我知道 buttonB 正在捕获事件,因为当我单击 A 的未覆盖部分时它可以正常工作。我在调试器中检查它以确保。
  • 这很奇怪......我在我的应用程序中使用带有一个动画的 GONE,并且按钮没有捕获 onClick()。唯一的区别是我在布局中有一组按钮,并且我将布局设置为 GONE 而不是单个按钮。您要捕捉哪个事件?
  • 我已经用另一个选项更新了我的答案,以避免按钮捕获点击。
  • this.animateAlphaButton =(Button)this.findViewById(R.id.animateAlpha); this.animateAlphaButton.setOnClickListener(this); this.animateAlphaButton.setVisibility(View.GONE);
  • 我之前错过了您的 setClickable,刚刚尝试过,现在可以使用了。非常感谢,你真是个天才……
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多