快速提问:有没有办法显示在我呼叫cancel()
之前不会消失的祝酒消息?
我已尝试将duration
设置为类似9999
的内容,但这不起作用。
答案 0 :(得分:4)
在我调用cancel()之前,有没有办法显示一个不会消失的Toast消息?
不,不是直接来自SDK,但是你可以“调整”你的Toast
以通过在其上调用show()
多次使用线程来延长它的寿命。有关详细信息,请参阅this article。
答案 1 :(得分:3)
Toast
在取消之前不会消失,称为Dialog
(或AlertDialog
)。传递给Toast.setDuration()
的整数是一个标志 - 而不是一个值 - 它只会识别值Toast.LENGTH_SHORT
和Toast.LENGTH_LONG
。
答案 2 :(得分:1)
Toast Message与time.there一起使用取消无法控制它。你必须使用Dialog作为目的
答案 3 :(得分:1)
Toast calss描述说:
“toast是一个包含用户快速消息的视图 吐司类可以帮助你创建和展示那些......“
“......这个想法尽可能不引人注目,同时仍然表现出来 用户希望他们看到的信息。两个例子是音量 控制,以及说明您的设置已被删除的简短消息 保存...“
至于duration参数,它应该分别是LENGTH_LONG或LENGTH_SHORT - 1或0之一。
如果你真的需要,请使用看起来像Toast的对话,但我不建议这样做,因为这不是用户对Toast的期望。
答案 4 :(得分:0)
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()自定义方法终止该线程。
答案 5 :(得分:0)
我知道这篇文章很老但是对于遇到它的其他人来说,我们非常欢迎你使用一个名为SuperToasts的小库。
您可以找到图书馆here。
添加到Activity的Toasts有一个不确定的选项,即SuperActivityToast。我故意没有将此功能添加到标准SuperToasts,这是一个模仿标准Toasts的类,因为SuperToast可以延迟到应用程序被杀死,因为它被添加到WindowManager而不是Activity。 SuperActivityToasts被添加到Activity的内容中,并将与您的Activity一起销毁,因此能够使它们不确定。