2013-12-04 4 views
1

Я использовал тосты в моем android приложение. Могу ли я показать тост до тех пор, как я хочу вместоконтроль времени отображения тоста

Toast.LENGTH_LONG 

и

Toast.LENGTH_SHORT 

может кто-то помочь мне с каким-то полезным сегментом кода. Спасибо.

+3

http://stackoverflow.com/questions/14503727/how-can-i-show-a-toast-for-a-specific-duration. – Raghunandan

ответ

6

Что вы можете do - создать метод, который с каким-то циклом, чтобы сделать ваш дисплей Toast до тех пор, пока вы хотите его,

private void showToast(int duration) { 
    final Toast toast = Toast.makeText(getBaseContext(), 
                 "This is a Toast Message!", 
       Toast.LENGTH_SHORT); 
    toast.show(); 
    new CountDownTimer(duration, 500) { 
      public void onTick(long millisUntilFinished) { 
       toast.show(); 
      } 
      public void onFinish() { 
       toast.cancel(); 
      } 

     }.start(); 
    } 

И тогда вы можете назвать этот метод showToast(10000);. Итак, что он будет делать, он будет показывать показ Тоста в цикле до продолжительности и отменит тост по мере завершения продолжительности.

2

Попробуйте это ..

final Toast toast = Toast.makeText(getBaseContext(), "YOUR MESSAGE",Toast.LENGTH_SHORT); 
      toast.show(); 
      new CountDownTimer(10000, 1000) 
      { 
       public void onTick(long millisUntilFinished) {toast.show();} 
       public void onFinish() {toast.cancel();} 
      }.start(); 

Наслаждайтесь ..

+0

уверены, что он появится в течение 10 секунд? Я так не думаю :-) –

+0

Да .. Он появится в течение 10 секунд –

+0

@Lalit Попробуйте отредактировать ответ .. Его работа –

0

нет, не может непосредственно обращаться с этим, вы должны использовать обработчик, чтобы отменить тост, как это:

final Toast toast = Toast.makeText(getApplicationContext(), "This message will disappear   in half second", Toast.LENGTH_SHORT); 
toast.show(); 

Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      toast.cancel(); 
     } 
}, 500); // 500ms is the time to cancel the toast. 
+1

Не отвечает на вопрос OP ... –

+0

@s проверить это сейчас! – Hamad

+0

Пока этот код работает, он все равно, вероятно, не поможет OP, потому что он хочет иметь больше времени. –

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