我在Android上制作程序:用户必须按下动画按钮才能使按钮不可见并增加分数。但是,在测试时,动画期间动画按钮被禁用:动画完美无缺但我们在动画期间无法使用动画按钮。我找到了答案,但我还没找到。
MainActivity:
Public int score = 0;
Public Button button1 = (Button) findViewById(R.id.button1);
Public Animation anim1 = AnimationUtils.loadAnimation(this, R.anim.translate_up);
button1.startAnimation(anim1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
score++;
button1.setVisibility(View.INVISIBLE);
}});
Translate_up,XML动画:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"android:shareInterpolator="false">
<translate
android:duration="1000"
android:fromXDelta="0"
android:fromYDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"
android:startOffset="0"
android:toXDelta="0"
android:toYDelta="-900"
/>
抱歉我的英语不好,希望你能理解我。
谢谢!
答案 0 :(得分:0)
按钮本身实际上正在处理它的原始位置。因此,虽然看起来您的按钮滑动到顶部,但仍然可以单击其原始位置中的空白区域并触发onClick事件。
恐怕动画在这里不起作用。如果是游戏,那么你应该创建一个游戏循环并在gameloop方法中更新你的观点的位置(例如你的按钮)。