2011-12-29 3 views
2

私は作ったすべてのAndroidアプリを持っていますが、もう一度画面に触れるとアニメーションを停止するコードを追加したいと思います。コードでわかるように、私はアニメーションを開始しましたが、プログラムを終了するだけでアニメーションを止めることができます。アニメーションとサウンドの再生を停止するためにもう一度画面に触れたいと思います。アニメーションをタッチで開始し、もう一度タッチすると停止するにはどうすればよいですか?

ありがとうございます。

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); 
} 

} 

答えて

1

変更します次へ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); 
} 
+0

はありがとうございました、それはとても簡単、初心者イム前に、李のdidntはそれを参照してくださいIDKの、私は少しのpythonを知っているが、Javaで台無しことはありませんが、非常に似ている私は見つけることです。もう一度ありがとう – Raul

+0

@ RaulSanchezほとんどの場合、必要なものが含まれており、答えを見つける場所であるため、ドキュメントを常に確認してください。ここで見つけることができます:http://developer.android.com/reference/android/view/animation/Animation.html –

関連する問題