Voglio far lampeggiare il mio ImageView. Più esattamente, su un evento come un clic di un pulsante, voglio che ImageView cambi il suo src per 1 secondo, quindi cambi di nuovo, poi di nuovo ecc. E poi dovrebbe fermarsi e ImageView dovrebbe avere lo stesso src del precedente. ho cercato di fare qualcosa sulla base di un'altra domanda, ma non funziona ...Android - make ImageView "lampeggia"
private class MyHandler extends Handler {
public ImageView imgView;
@Override
public void handleMessage(Message msg) {
if (imgView != null) {
switch (msg.what) {
case 0:
imgView.setImageResource(R.drawable.red_img);
break;
case 1:
imgView.setImageResource(R.drawable.white_img);
break;
}
}
super.handleMessage(msg);
}
}
(...)
MyHandler blinker = new MyHandler();
blinker.imgView = imgView;
for (int j = 0; j < 5; j++) {
Message msg = new Message();
if (j % 2 == 0) {
msg.what = 0;
} else {
msg.what = 1;
}
blinker.sendMessageDelayed(msg, j * 300);
}
Qualcuno sa come questo può essere fatto (se si può fare). Grazie!
Prima di tutto, assicurati che il tuo 'imgView' i sn't null –
Secondo, prova con la condizione 'j <1000'. 5 iterazioni è un periodo troppo breve (1,5 secondi) –