2014-01-15 67 views
4

我嘗試將我的Toast顯示持續時間設置爲1分鐘。 我試試這個:設置Android Toast持續時間非常長(例如1分鐘)

final Toast toast = Toast.makeText(getApplicationContext(), "MESSAGE", Toast.LENGTH_LONG); 
    toast.show(); 

    Handler handler = new Handler(); 
      handler.postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        toast.cancel(); 
        } 
      }, 60000); 

感謝您的幫助。

回答

7

由於LENGTH_SHORT是2秒(和LENGTH_LONG爲3.5秒)時,嘗試:

for (int i=0; i < 30; i++) 
{ 
    Toast.makeText(this, "MESSAGE", Toast.LENGTH_SHORT).show(); 
} 
+0

非常感謝。你的想法解決了我的問題 – Merv

+0

我很高興。 –

+0

此解決方案可能會閃爍。 – msj121

2

您可以使用Crouton,該庫爲您提供設置時間和自定義的外觀(http://www.grokkingandroid.com/useful-android-libraries-crouton/

+0

這是行不通的,看到我的答案的解釋,爲什麼 –

+0

你說得對,我錯了Crouton。你可以選擇這個庫的持續時間:http://www.grokkingandroid.com/useful-android-libraries-crouton/ –

3

看看這個answer的可能性。

LENGTH_SHORTLENGTH_LONG的值是0和1。這意味着它們是作爲標誌,而不是實際的持續時間處理,所以我不認爲這將有可能設置持續時間比這些數值的任何其他。

4

只有兩種可能的Toast持續時間:短(2秒)和長(3.5秒)。

如果您需要更持久的消息,請使用對話框或將消息包含在佈局中。

使用自定義持續時間在佈局中創建上下文相關消息的一種簡單方法是Crouton library

0

乾杯並不意味着可以使用這樣的。 Toast是短暫的,Android已經將它們定義爲SHORT或LONG。

如果你想,你可以創建一個對話框,而不是完全模仿吐司的外觀,但我會使用一個可以忽略的對話框或通知,因爲它可能會令用戶感到沮喪,解僱它的可能性。

1
final Toast tag = Toast.makeText(getBaseContext(), "YOUR MESSAGE",Toast.LENGTH_SHORT); 

tag.show(); 

new CountDownTimer(9000, 1000) { 

    public void onTick(long millisUntilFinished) {tag.show();} 
    public void onFinish() {tag.show();} 

}.start(); 

Similar Question and answer there.

相關問題