2014-09-19 19 views
0

Я хочу сделать кнопки Mediaplayer, которые начнут мигать после нажатия и перестанут мигать, пока я не нажму следующую кнопку Mediaplayer, которая также начнет мигать. У меня есть кнопки, которые теперь мигают при нажатии, но теперь проблема заключается в том, как я могу заставить их перестать мигать, когда я нажимаю следующую кнопку. Теперь кнопки продолжают мигать, когда я нажимаю следующую кнопку.Как сделать кнопку мигающей после нажатия?

Вот мой код я использую сейчас:

 mButton1 = (Button)findViewById(R.id.button1); 
     mButton2 = (Button)findViewById(R.id.button2); 

     mAnimation = new AlphaAnimation(1, 0); 
     mAnimation.setDuration(500); 
     mAnimation.setInterpolator(new LinearInterpolator()); 
     mAnimation.setRepeatCount(Animation.INFINITE); 
     mAnimation.setRepeatMode(Animation.REVERSE); 

     mButton1.setOnClickListener(new View.OnClickListener() { 


      @Override 
      public void onClick(View v) { 
       mButton2.clearAnimation(); 
       mButton1.startAnimation(mAnimation); 

       { 
        mp.release(); 
        mp = MediaPlayer.create(Activity2.this, R.raw.audio_1); 
        mp.setLooping(true); 
        mp.start(); 


       } 
       } 
     }); 

     mButton2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       mButton1.clearAnimation(); 
       mButton2.startAnimation(mAnimation); 

       { 
       mp.release(); 
       mp = MediaPlayer.create(Activity2.this, R.raw.audio_2); 
       mp.setLooping(true); 
       mp.start(); 


      } 
      } 
     }); 
+0

Не могли бы вы объяснить это немного больше. Вы хотите вымотать только одну кнопку из набора кнопок? Когда нажата одна кнопка, она начинает мигать, и предыдущая мигающая кнопка должна остановиться? – dishan

+0

Точно, что я ищу! –

+0

У меня есть медиаплеер с 12 различными кнопками/звуком, и я хочу, чтобы кнопки мигали по одному за раз, в зависимости от того, какую кнопку я нажимаю. –

ответ

0

попробовать этот подход

mButton1 = (Button)findViewById(R.id.button1); 
mButton2 = (Button)findViewById(R.id.button2); 

mAnimation = new AlphaAnimation(1, 0); 
mAnimation.setDuration(500); 
mAnimation.setInterpolator(new LinearInterpolator()); 
mAnimation.setRepeatCount(Animation.INFINITE); 
mAnimation.setRepeatMode(Animation.REVERSE); 

mBbutton1.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     mButton2.clearAnimation(); 
     mButton1.startAnimation(mAnimation); 
    } 
}); 

mBbutton2.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     mButton1.clearAnimation(); 
     mButton2.startAnimation(mAnimation); 
    } 
}); 

Обратите внимание, что на button1 нажмите слушателю, вы должны начать анимацию в button1 и очистить анимации button2 и наоборот

Если у вас есть много кнопок, попробуйте сохранить их в массиве и выполнить логику

mButtons = new ArrayList<Button>(); 

mClickListener = new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     //stop flashing all buttons 
     for(Button button : mButtons) { 
      button.clearAnimation(); 
     } 
     //start animation on this button 
     v.startAnimation(mAnimation); 
    } 
}); 

Button button1 = (Button)findViewById(R.id.button1); 
button1.setOnClickListener(mClickListener); 
Button button2 = (Button)findViewById(R.id.button2); 
button2.setOnClickListener(mClickListener); 
//get as many as buttons 

mButtons.add(button1); 
mButtons.add(button2); 
//add all the buttons to array 
+0

Спасибо за помощь, если вы сейчас посмотрите мой код с 3 различными кнопками/аудио. Как я должен начать его наращивать. Я пытаюсь, но я получаю много ошибок. –

+0

Привет, я наконец-то правильно набрал кнопки, но теперь я не слышу звуковой файл. Можете ли вы рассказать мне, что я делаю неправильно. проверить мой код, который я редактировал? –

+0

Код для запуска воспроизведения звука не вызывается в прослушивателе кнопок. Добавьте код для запуска звука после метода startAnimation() в каждом прослушивателе кликов. Это кусок кода в ваших методах btn1() и btn2() – dishan

Смежные вопросы