2011-07-19 80 views
2

快速問題:有沒有辦法顯示Toast消息不會消失,直到我致電cancel()Android SDK保持Toast不會消失

我已經嘗試將duration設置爲類似9999的東西,但這不起作用。

回答

4

的是否有顯示設備,不敬酒消息的方式消失,直到我打電話給它取消()?

不,不是直接從SDK,但你可以「調整」你Toast通過它調用show()您希望使用線程多次,使其壽命更長。有關更多信息,請參閱this article

3

A Toast直到您取消它纔會消失,稱爲Dialog(或AlertDialog)。您傳遞給Toast.setDuration()的整數是一個標誌 - 不是一個值 - 它只會識別值Toast.LENGTH_SHORTToast.LENGTH_LONG。工作

1

吐司消息與time.there是沒有辦法與cancel.You控制它已經使用Dialog的那種目的

1

Toast CALSS介紹說:

「乾杯是包含一個小巧的消息,用戶視圖的 吐司類可幫助您創建和展示這些......」

「 ...這個想法應儘可能不顯眼,同時仍然向用戶顯示您希望他們看到的信息。兩個示例是控制量 ,以及簡短消息說您的設置已保存爲 ... 「

至於持續時間參數,它應該分別是LENGTH_LONGLENGTH_SHORT-1或0中的一個。

如果您確實需要使用看起來像吐司的對話框,但我不建議這樣做,因爲這不會是用戶對吐司的期望。

0

官方醫生說(http://developer.android.com/reference/android/widget/Toast.html#makeText(android.content.Context, int, int)):

public static Toast makeText (Context context, int resId, int duration) 

Since: API Level 1 
Make a standard toast that just contains a text view with the text from a resource. 
Parameters 

context The context to use. Usually your Application or Activity object. 
resId  The resource id of the string resource to use. Can be formatted text. 
duration How long to display the message. Either LENGTH_SHORT or LENGTH_LONG 
Throws  Resources.NotFoundException if the resource can't be found. 

這意味着沒有直接的方法來做到這一點。您將不得不爲此構建自定義代碼。由於Toast非常相互重疊,所以可以每秒用一個線程調用相同的Toast作爲示例,並使用cancel()自定義方法來終止該線程。

0

我知道這篇文章已經過時了,但對於遇到它的其他人來說,歡迎您使用一個名爲SuperToasts的小型圖書館。

你可以找到圖書館here

有一個添加到活動中的Toast的不確定選項,即SuperActivityToast。我故意沒有將此功能添加到標準的SuperToasts,這是一個模仿標準Toasts的類,因爲SuperToast可能會一直存在,直到您的應用程序因爲被添加到WindowManager而不是Activity而被終止。SuperActivityToasts被添加到Activity的內容中,並會隨着您的Activity一起銷燬,因此可以使它們不確定。