0
Toast.makeText(getApplicationContext(), getString(R.string.negative), Toast.LENGTH_SHORT).show();

如何为此设置时间外观并使其可取消。另外我如何设置这个出现在屏幕的中间部分?

4

4 回答 4

1

1.时间出现:持续时间

有两种情况:(Toast.LENGTH_SHORT短时间显示)或Toast.LENGTH_LONG(长时间显示)。

您不能为 toast 定义时间外观

2.吐司比重:(显示在屏幕中间):

您可以使用名为 setGravity() 的方法根据需要定位 Toast,该方法具有三个参数:重力x-offsety-offset

toast.setGravity(Gravity.CENTER, 0, 0); // toast in the center of screen

编辑: 对于您的情况,您可以使用:

Toast toast= Toast.makeText(getApplicationContext(), getString(R.string.positive), Toast.LENGTH_LONG);  
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
于 2014-02-23T23:48:40.687 回答
0

此处指定显示吐司的时间:

 Toast.LENGTH_SHORT

在你的代码中。您只能使用 Toast.LENGTH_SHORT 或 Toast.LENGTH_LONG ==> Toast 在时间上不是很灵活,但它们不需要,请参阅文档

当视图显示给用户时,显示为应用程序上方的浮动视图。它永远不会获得焦点。用户可能正在输入其他内容。这个想法是尽可能不引人注目,同时仍向用户显示您希望他们看到的信息。两个示例是音量控制,以及说明您的设置已保存的简短消息。

于 2014-02-23T23:32:23.450 回答
0

我不认为你可以用 Toasts 做到这一点。你可能想看看AlertDialogs

于 2014-02-23T23:33:56.953 回答
0

查看这个库,它几乎可以满足您的所有要求。它被称为 MessageBar,旨在替代 Android 的 Toast。

至于更改 Toast 条的位置,请查看这个SO answer

于 2014-02-23T23:39:57.460 回答