2014-10-20 3 views
0

내가 그것을 여기에, 당신의 배경을 변경하는 XML 버튼에 변화의 코드를 누르면 이미지 버튼이 온 클릭 :이미지 버튼 설정 배경

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/pushed" 
     android:state_pressed="true"/> 
    <item android:drawable="@drawable/normal"/> 
</selector> 

이 버튼은이 버튼을 누르면 소리를 재생을 문제 그 배경을 바꿔주는 버튼을 계속 클릭 (길게 누르기)하고이 상태에 대한 배경을 계속 보여 주지만 출시 될 때까지 사운드를 재생하지 않습니다. 여기에 코드 :

 @Override 
     public void onClick(View view) { 
      mp = MediaPlayer.create(MyActivity.this,R.raw.sound); 
      mp.start(); 

내가 그것을 터치 할 때 소리를 재생하려면 내가 사전에 그것을 감사를 출시하지 않을 때! 당신이 그것의 손가락을 떼야 할 때까지 나타났습니다로

+1

을 수행합니다. 대신에'OnTouchListener'를 사용해보세요. 자동차가 원숭이에 자바 인 것처럼 자바도있다 – codeMagic

답변

2

사용이 코드는 사용자의 작업 클릭이 처리되지

imageButton.setOnTouchListener(new OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      if(event.getAction() == MotionEvent.ACTION_DOWN){ 

       mp = MediaPlayer.create(MyActivity.this,R.raw.sound); 
       mp.start(); 

       return true; 
      } 

      else if(event.getAction() == MotionEvent.ACTION_UP){ 
        mp.stop(); 
        mp.release(); 
      return true; 
     } 

      return false; 
     } 
    }); 
+0

나는 터치가 올라 갔을 때 미디어 플레이어를 멈추게하려고 생각하지 않는다. 그러나 터치 다운 부분은 정확하다. –

+0

대단히 감사합니다! :디 – tango3d