Android 如何使动画在触摸时开始并再次触摸时停止?
我有一个安卓应用程序,我做的一切工作,但我想添加一个代码,将停止动画,一旦我再次触摸屏幕。正如您在代码中看到的,我启动了动画,但我只能通过退出程序来停止它,我希望能够再次触摸屏幕以停止动画和声音播放 多谢各位Android 如何使动画在触摸时开始并再次触摸时停止?,android,eclipse,touch,Android,Eclipse,Touch,我有一个安卓应用程序,我做的一切工作,但我想添加一个代码,将停止动画,一旦我再次触摸屏幕。正如您在代码中看到的,我启动了动画,但我只能通过退出程序来停止它,我希望能够再次触摸屏幕以停止动画和声音播放 多谢各位 import android.app.Activity; import android.os.Bundle; import android.graphics.drawable.AnimationDrawable; import android.media.MediaPlayer; impo
import android.app.Activity;
import android.os.Bundle;
import android.graphics.drawable.AnimationDrawable;
import android.media.MediaPlayer;
import android.view.MotionEvent;
import android.widget.ImageView;
public class WigleActivity extends Activity {
/** Called when the activity is first created. */
MediaPlayer mp;
AnimationDrawable animation;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mp = MediaPlayer.create(this, R.raw.sexy);
ImageView imageView1 = (ImageView)findViewById(R.id.imageView1);
imageView1.setBackgroundResource(R.anim.wanim);
animation = (AnimationDrawable) imageView1.getBackground();
}
protected void onPause() {
super.onPause();
mp.release();
finish();
}
public boolean onTouchEvent (MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
mp.start();
animation.start();
return true;
}
return super.onTouchEvent(event);
}
}
将您的onTouch代码更改为以下内容:
public boolean onTouchEvent (MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (animation.isRunning()) {
mp.stop();
animation.stop();
} else {
mp.start();
animation.start();
}
return true;
}
return super.onTouchEvent(event);
}
非常感谢idk,我以前没见过这么简单的,我是一个初学者,我知道一点python,但从来没有弄乱过java,但它和我现在发现的非常相似。阿盖恩Thanks@RaulSanchez您应该经常检查文档,因为在大多数情况下,文档包含您想要的内容,而我们就是在这里找到答案的。你可以在这里找到它: