Je travaille sur l'application de la musiquecomment changer de fond du bouton sur chaque clic
donc je suis en train de faire un bouton quand je clique dessus la chanson
être répètent et le changement de fond
J'ai deux arrière-plan l'un d'eux que je veux faire fond du bouton
lors de la lecture de la chanson une fois
et l'autre quand la chanson est repe Ating
package khaledbanafa.shaylat;
import android.media.MediaPlayer;
import android.os.Build;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.ToggleButton;
import java.io.IOException;
import static android.app.PendingIntent.getActivity;
import static khaledbanafa.shaylat.R.drawable.play;
public class ha extends AppCompatActivity {
MediaPlayer x;
RelativeLayout mylayout;
TextView textView;
TextView textView2;
TextView textView3;
SeekBar seekBar;
boolean pressed = false;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_on);
final Button a = (Button) findViewById(R.id.button1);
a.setText("ارفع الراس يا حربي");
final Button b = (Button) findViewById(R.id.button2);
b.setText("سما سما");
final Button c = (Button) findViewById(R.id.button3);
c.setText("الحربي للحربي فدا");
final Button d = (Button) findViewById(R.id.button4);
d.setText("العبو ياحرب دام العمر فاني");
final Button e = (Button) findViewById(R.id.button5);
e.setText("حرب الحرايب");
final Button f = (Button) findViewById(R.id.button6);
f.setText("حرب الحرايب لحن دحة");
final Button g = (Button) findViewById(R.id.button7);
g.setText("حرب الدول");
final Button h = (Button) findViewById(R.id.button8);
h.setText("حرب ماتنقص تزود");
final Button i = (Button) findViewById(R.id.button9);
i.setText("حنا اهل الفخر");
final Button j = (Button) findViewById(R.id.button10);
j.setText("ياحرب شوشو والعبو");
Button play = (Button) findViewById(R.id.buttonplay);
Button pause = (Button) findViewById(R.id.buttonpause);
Button stop = (Button) findViewById(R.id.buttonstop);
final Button repeat = (Button)findViewById(R.id.repeat);
Button nextmedia = (Button)findViewById(R.id.nextmedia);
textView = (TextView)findViewById(R.id.textView);
textView2 = (TextView)findViewById(R.id.textView2);
textView3 = (TextView)findViewById(R.id.textView3);
seekBar = (SeekBar)findViewById(R.id.seekBar);
final SeekBar SEK = new SeekBar(ha.this);
SEK.setPadding(150,0,140,0);
SEK.setX(0);
SEK.setY(1659);
SEK.setProgressDrawable(getDrawable(R.drawable.red_scrubber_progress));
SEK.setThumb(getDrawable(R.drawable.red_scrubber_control));
mylayout = (RelativeLayout)findViewById(R.id.onrel);
SEK.setLayoutParams(new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(x != null)
x.start();
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(x != null)
x.stop();
textView.setText("");
mylayout.removeView(SEK);
mylayout.addView(SEK);
SEK.setProgress(0);
SEK.setMax(0);
}
});
pause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(x != null)
x.pause();
}
});
a.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mylayout.removeView(seekBar);
mylayout.removeView(SEK);
stopPlaying();
x = MediaPlayer.create(ha.this, R.raw.haone);
class mythread extends Thread {
public void run() {
while (x != null) {
try {
Thread.sleep(1000);
} catch (Exception e) {
}
SEK.post(new Runnable() {
@Override
public void run() {
SEK.setProgress(x.getCurrentPosition());
int tim = (SEK.getMax()/1000);
int m = tim/60;
int s = tim % 60;
/////////
int tim0 = (SEK.getProgress()/1000);
int m0 = tim0/60;
int s0 = tim0 % 60;
textView2.setText(m0 + ":" + s0);
textView3.setText(m + ":" + s);
}
});
}
}
}
SEK.setMax(x.getDuration());
mythread my = new mythread();
textView.setText(a.getText());
mylayout.addView(SEK);
my.start();
x.start();
SEK.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progresval;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progresval = progress;}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
x.seekTo(progresval);
}
});}
});
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mylayout.removeView(seekBar);mylayout.removeView(SEK);stopPlaying();
x = MediaPlayer.create(ha.this, R.raw.hatwo);class mythread extends Thread {
public void run() {while (x != null) {try {Thread.sleep(1000);} catch (Exception e) {}
SEK.post(new Runnable() {
@Override
public void run() {
SEK.setProgress(x.getCurrentPosition());
int tim = (SEK.getMax()/1000);
int m = tim/60;
int s= tim %60;
/////////
int tim0 = (SEK.getProgress()/1000);
int m0 = tim0/60;
int s0 = tim0%60;
textView2.setText(m0+":"+s0);
textView3.setText(m+":"+s);}});}}}
SEK.setMax(x.getDuration());mythread my = new mythread();
textView.setText(b.getText());
mylayout.addView(SEK);
my.start();x.start();
SEK.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progresval;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progresval = progress;}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
x.seekTo(progresval);
}
});
}
});
c.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mylayout.removeView(seekBar);mylayout.removeView(SEK);stopPlaying();
x = MediaPlayer.create(ha.this, R.raw.hathree);class mythread extends Thread {
public void run() {while (x != null) {try {Thread.sleep(1000);} catch (Exception e) {}
SEK.post(new Runnable() {
@Override
public void run() {
SEK.setProgress(x.getCurrentPosition());
int tim = (SEK.getMax()/1000);
int m = tim/60;
int s= tim %60;
/////////
int tim0 = (SEK.getProgress()/1000);
int m0 = tim0/60;
int s0 = tim0%60;
textView2.setText(m0+":"+s0);
textView3.setText(m+":"+s);}});}}}
SEK.setMax(x.getDuration());mythread my = new mythread();
textView.setText(c.getText());
mylayout.addView(SEK);
my.start();x.start();
SEK.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progresval;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progresval = progress;}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
x.seekTo(progresval);
}
});
}
});
d.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mylayout.removeView(seekBar);mylayout.removeView(SEK);stopPlaying();
x = MediaPlayer.create(ha.this, R.raw.hafour);class mythread extends Thread {
public void run() {while (x != null) {try {Thread.sleep(1000);} catch (Exception e) {}
SEK.post(new Runnable() {
@Override
public void run() {
SEK.setProgress(x.getCurrentPosition());
int tim = (SEK.getMax()/1000);
int m = tim/60;
int s= tim %60;
/////////
int tim0 = (SEK.getProgress()/1000);
int m0 = tim0/60;
int s0 = tim0%60;
textView2.setText(m0+":"+s0);
textView3.setText(m+":"+s);}});}}}
SEK.setMax(x.getDuration());mythread my = new mythread();
textView.setText(d.getText());
mylayout.addView(SEK);
my.start();x.start();
SEK.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progresval;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progresval = progress;}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
x.seekTo(progresval);
}
});
}
});
e.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mylayout.removeView(seekBar);mylayout.removeView(SEK);stopPlaying();
x = MediaPlayer.create(ha.this, R.raw.hafive);class mythread extends Thread {
public void run() {while (x != null) {try {Thread.sleep(1000);} catch (Exception e) {}
SEK.post(new Runnable() {
@Override
public void run() {
SEK.setProgress(x.getCurrentPosition());
int tim = (SEK.getMax()/1000);
int m = tim/60;
int s= tim %60;
/////////
int tim0 = (SEK.getProgress()/1000);
int m0 = tim0/60;
int s0 = tim0%60;
textView2.setText(m0+":"+s0);
textView3.setText(m+":"+s);}});}}}
SEK.setMax(x.getDuration());mythread my = new mythread();
textView.setText(e.getText());
mylayout.addView(SEK);
my.start();x.start();
SEK.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progresval;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progresval = progress;}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
x.seekTo(progresval);
}
});
}
});
f.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mylayout.removeView(seekBar);mylayout.removeView(SEK);stopPlaying();
x = MediaPlayer.create(ha.this, R.raw.hasix);class mythread extends Thread {
public void run() {while (x != null) {try {Thread.sleep(1000);} catch (Exception e) {}
SEK.post(new Runnable() {
@Override
public void run() {
SEK.setProgress(x.getCurrentPosition());
int tim = (SEK.getMax()/1000);
int m = tim/60;
int s= tim %60;
/////////
int tim0 = (SEK.getProgress()/1000);
int m0 = tim0/60;
int s0 = tim0%60;
textView2.setText(m0+":"+s0);
textView3.setText(m+":"+s);}});}}}
SEK.setMax(x.getDuration());mythread my = new mythread();
textView.setText(f.getText());
mylayout.addView(SEK);
my.start();x.start();
SEK.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progresval;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progresval = progress;}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
x.seekTo(progresval);
}
});
}
});
g.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mylayout.removeView(seekBar);mylayout.removeView(SEK);stopPlaying();
x = MediaPlayer.create(ha.this, R.raw.haseven);class mythread extends Thread {
public void run() {while (x != null) {try {Thread.sleep(1000);} catch (Exception e) {}
SEK.post(new Runnable() {
@Override
public void run() {
SEK.setProgress(x.getCurrentPosition());
int tim = (SEK.getMax()/1000);
int m = tim/60;
int s= tim %60;
/////////
int tim0 = (SEK.getProgress()/1000);
int m0 = tim0/60;
int s0 = tim0%60;
textView2.setText(m0+":"+s0);
textView3.setText(m+":"+s);}});}}}
SEK.setMax(x.getDuration());mythread my = new mythread();
textView.setText(g.getText());
mylayout.addView(SEK);
my.start();x.start();
SEK.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progresval;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progresval = progress;}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
x.seekTo(progresval);
}
});
}
});
h.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mylayout.removeView(seekBar);mylayout.removeView(SEK);stopPlaying();
x = MediaPlayer.create(ha.this, R.raw.haeight);class mythread extends Thread {
public void run() {while (x != null) {try {Thread.sleep(1000);} catch (Exception e) {}
SEK.post(new Runnable() {
@Override
public void run() {
SEK.setProgress(x.getCurrentPosition());
int tim = (SEK.getMax()/1000);
int m = tim/60;
int s= tim %60;
/////////
int tim0 = (SEK.getProgress()/1000);
int m0 = tim0/60;
int s0 = tim0%60;
textView2.setText(m0+":"+s0);
textView3.setText(m+":"+s);}});}}}
SEK.setMax(x.getDuration());mythread my = new mythread();
textView.setText(h.getText());
mylayout.addView(SEK);
my.start();x.start();
SEK.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progresval;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progresval = progress;}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
x.seekTo(progresval);
}
});
}
});
i.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mylayout.removeView(seekBar);mylayout.removeView(SEK);stopPlaying();
x = MediaPlayer.create(ha.this, R.raw.hanine);class mythread extends Thread {
public void run() {while (x != null) {try {Thread.sleep(1000);} catch (Exception e) {}
SEK.post(new Runnable() {
@Override
public void run() {
SEK.setProgress(x.getCurrentPosition());
int tim = (SEK.getMax()/1000);
int m = tim/60;
int s= tim %60;
/////////
int tim0 = (SEK.getProgress()/1000);
int m0 = tim0/60;
int s0 = tim0%60;
textView2.setText(m0+":"+s0);
textView3.setText(m+":"+s);}});}}}
SEK.setMax(x.getDuration());mythread my = new mythread();
textView.setText(i.getText());
mylayout.addView(SEK);
my.start();x.start();
SEK.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progresval;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progresval = progress;}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
x.seekTo(progresval);
}
});
}
});
j.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mylayout.removeView(seekBar);mylayout.removeView(SEK);stopPlaying();
x = MediaPlayer.create(ha.this, R.raw.haten);class mythread extends Thread {
public void run() {while (x != null) {try {Thread.sleep(1000);} catch (Exception e) {}
SEK.post(new Runnable() {
@Override
public void run() {
SEK.setProgress(x.getCurrentPosition());
int tim = (SEK.getMax()/1000);
int m = tim/60;
int s= tim %60;
/////////
int tim0 = (SEK.getProgress()/1000);
int m0 = tim0/60;
int s0 = tim0%60;
textView2.setText(m0+":"+s0);
textView3.setText(m+":"+s);}});}}}
SEK.setMax(x.getDuration());mythread my = new mythread();
textView.setText(j.getText());
mylayout.addView(SEK);
my.start();x.start();
SEK.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int progresval;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progresval = progress;}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
x.seekTo(progresval);
}
});
}
});
}
public void onDestroy(){
super.onDestroy();
if(x != null)
x.stop();
}
private void stopPlaying() {
if (x != null) {
x.stop();
x.release();
x = null;
}
}
}
Merci, cela fonctionne. – khaled