Pessoal preciso executar um comando de troca de imagem com um controle de velocidade num seekbar, mais não estou conseguindo.
Fiz assim
[code]private Runnable mRun = new Runnable() {
public void run() {
try {
count = count;
if (count == 17) {
count = 0;
} else {
textView.setText(“Contagem=” + count);
switch (count) {
case 0:
p1.setBackgroundResource(R.drawable.btnverde);
break;
case 1:
p1.setBackgroundResource(R.drawable.btnred);
p2.setBackgroundResource(R.drawable.btnverde);
break;
case 2:
p2.setBackgroundResource(R.drawable.btnred);
p3.setBackgroundResource(R.drawable.btnverde);
break;
case 3:
p3.setBackgroundResource(R.drawable.btnred);
p4.setBackgroundResource(R.drawable.btnverde);
break;
case 4:
p4.setBackgroundResource(R.drawable.btnred);
p5.setBackgroundResource(R.drawable.btnverde);
break;
case 5:
p5.setBackgroundResource(R.drawable.btnred);
p6.setBackgroundResource(R.drawable.btnverde);
break;
case 6:
p6.setBackgroundResource(R.drawable.btnred);
p7.setBackgroundResource(R.drawable.btnverde);
break;
case 7:
p7.setBackgroundResource(R.drawable.btnred);
p8.setBackgroundResource(R.drawable.btnverde);
break;
case 8:
p8.setBackgroundResource(R.drawable.btnred);
p9.setBackgroundResource(R.drawable.btnverde);
break;
case 9:
p9.setBackgroundResource(R.drawable.btnred);
p10.setBackgroundResource(R.drawable.btnverde);
break;
case 10:
p10.setBackgroundResource(R.drawable.btnred);
p11.setBackgroundResource(R.drawable.btnverde);
break;
case 11:
p11.setBackgroundResource(R.drawable.btnred);
p12.setBackgroundResource(R.drawable.btnverde);
break;
case 12:
p12.setBackgroundResource(R.drawable.btnred);
p13.setBackgroundResource(R.drawable.btnverde);
break;
case 13:
p13.setBackgroundResource(R.drawable.btnred);
p14.setBackgroundResource(R.drawable.btnverde);
break;
case 14:
p14.setBackgroundResource(R.drawable.btnred);
p15.setBackgroundResource(R.drawable.btnverde);
break;
case 15:
p15.setBackgroundResource(R.drawable.btnred);
p16.setBackgroundResource(R.drawable.btnverde);
break;
case 16:
p16.setBackgroundResource(R.drawable.btnred);
p1.setBackgroundResource(R.drawable.btnverde);
break;
case 18:
btnTodosRed();
break;
}
}
count++;
if (count <= 17) {
mHandler.postDelayed(mRun, longTemp);
}
} catch (Exception e) {
e.printStackTrace();
}
}
};[/code]
e chamando no comando do seekbar assim
[code]/** seekbar tempo */
tempo = (SeekBar) findViewById(R.id.seekbarTempo);
seekBarValue.setText(tempo.getProgress() + “/” + tempo.getMax());
progress = 100;
tempo.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progresValue,
boolean fromUser) {
progress = progresValue;
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
seekBarValue.setText(progress + "/" + seekBar.getMax());
/** atualiza o tempo do pisca */
mHandler.removeCallbacks(runnable);
count = count;
longTemp = progress;
mHandler.post(mRun);
}
});[/code]
Mais o tempo aqui
Esta muito devagar, ja tentei incluir direto um valor para ver se melhorava a velocidade para ir mais rápido e não consigo.
[code]/** tratar os leds de piscar */
btnPlay = (Button) findViewById(R.id.btnplay);
btnPlay.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
trans = new TranslateAnimation(0, 3, 3, 0);
trans.setDuration(100);
btnPlay.startAnimation(trans);
new Thread() {
public void run() {
try {
textView = (TextView) findViewById(R.id.textfactor);
count = 0;
// progress = 50;
longTemp = 10; // progress;
mHandler.post(mRun);
} catch (Exception e) {
}
}
}.start();
}
});
btnStop = (Button) findViewById(R.id.btnstop);
btnStop.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
trans = new TranslateAnimation(0, 3, 3, 0);
trans.setDuration(100);
btnStop.startAnimation(trans);
new Thread() {
public void run() {
try {
count = 18;
mHandler.post(mRun);
} catch (Exception e) {
}
}
}.start();
}
});[/code]
Tem uma outra forma de fazer isso ai com um controle de velocidade que eu posso deixar mais rápido a ação? Assim vou aumentando a velocidade no seekbar e as imagens vão dando um efeito de piscar mais rápido também.
Obrigado.