Android SDK防止烤面包片褪色

Android SDK防止烤面包片褪色,android,android-layout,Android,Android Layout,快速提问:有没有一种方法可以显示一条在我调用cancel()之前不会消失的祝酒词 我曾尝试将持续时间设置为类似9999的值,但没有效果。Toast在取消之前不会消失的称为对话框(或AlertDialog)。传递给Toast.setDuration()的整数是一个标志,而不是一个值,它将只识别值Toast.LENGTH\u SHORT和Toast.LENGTH\u LONGToast消息是随时间变化的。无法使用“取消”来控制它。您必须使用它 有没有一种方法可以显示一条在我调用cancel()之前不

快速提问:有没有一种方法可以显示一条在我调用
cancel()
之前不会消失的祝酒词


我曾尝试将
持续时间设置为类似
9999
的值,但没有效果。

Toast
在取消之前不会消失的称为
对话框(或
AlertDialog
)。传递给
Toast.setDuration()
的整数是一个标志,而不是一个值,它将只识别值
Toast.LENGTH\u SHORT
Toast.LENGTH\u LONG
Toast消息是随时间变化的。无法使用“取消”来控制它。您必须使用它

有没有一种方法可以显示一条在我调用cancel()之前不会消失的吐司消息

不,不是直接从SDK,但是您可以通过使用线程多次调用
show()
,来“调整”您的
Toast
,使其寿命更长。有关更多信息,请参阅。

calss说明中说:

“toast是一个视图,其中包含一条供用户使用的简短消息 toast类帮助您创建并展示这些…”

“…想法是尽可能不引人注目,同时仍然显示 使用您希望他们看到的信息。两个示例是卷 控件,并显示简短消息,说明您的设置已更改 拯救……”

至于duration参数,它应该分别是or-1或0中的一个

如果必须的话,可以使用看起来像祝酒词的对话,但我不建议这样做,因为这不是用户对祝酒词的期望。

官方文件说():


这意味着没有直接的方法可以做到这一点。您必须为此构建自定义代码。由于祝酒词彼此重叠,你可以以一个线程为例,每秒调用同一个祝酒词,并使用cancel()自定义方法终止该线程。

我知道这篇文章很旧,但对于遇到它的其他人,你更欢迎使用我创建的一个称为SuperToasts的小库

你可以找到图书馆

对于添加到活动中的祝酒,有一个不确定的选项,即SuperActivityToast。我故意没有将此功能添加到标准SuperToast(一个模拟标准Toast的类)中,因为SuperToast可以一直保留,直到您的应用程序被终止,因为它被添加到WindowManager而不是活动中。SuperActivityHosts将添加到活动的内容中,并将与您的活动一起销毁,因此可以使其不确定

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.