在使用 XML 动画的 Button/ImageView 的当前位置触发 onClick

Trigger onClick on current position of Button/ImageView animated with XML

我正在制作一个显示气球的简单游戏(Button/ImageView 带有气球的背景图片)。我使用 anim.xml 文件制作了气球动画,气球在屏幕上移动得很好。

问题是当你触摸它们时,它们什么都不做。我将它们放置在 XML 的位置保留了点击它们的能力。触摸动态图片,没有任何反应。

如何让气球在触摸时弹出(即将背景更改为破损的气球图像并发出声音)?

检查此 link。 这是一个如何创建移动的视图并且可以对触摸做出反应的示例。 这是 Coursera Android Development 课程的一部分。 如果您有兴趣 - 免费参加该课程。

最佳

不要为此使用动画 XML 文件,请改用 ViewPropertyAnimator。只需在气球视图上调用“.animate()”并设置动画的方向和持续时间。例如,此代码将在 1 秒内将气球向右移动 200 像素:

balloonView.animate().translationXBy(200).setDuration(1000);

参考此 link 了解 属性 动画工作。还使用对象动画师来动画视图。因此无论我们移动到哪里,视图中都只会保留视图的点击功能。

Yes you create a SeperateClass For touch and Click listener and pass the Necessarydata.
e.g.

class BaloonClickListener implements onCLickListener
{
Button button;
public BaloonClickListener(Button button)
{
this.button=button;
} 
@override
public void onCLick(View view)
{
button.setBackgroundResource(bustedImage);
}

}


Set Listener:

balloonView.setOnClickListener(new BaloonClickListener(balloonView));


I think this may solve your problem.