8

我希望在一个位置显示一条 Toast 消息,同时在另一个位置显示一条不同的 Toast 消息。

  1. 多条 Toast 消息似乎总是按顺序排列和显示。是否可以同时显示两条消息?

  2. 是否有一种解决方法至少可以提供这种外观并且不涉及弄乱活动布局?

编辑:似乎第一个问题的答案是否定的,这是不可能的。解决方法怎么样?对我来说,一个解决方案将包括出现在应用程序“上方”的东西,例如 Toast,并且不会干扰用户与应用程序的交互(因此,不是 AlertDialogue 或任何调用 onPause() 等的东西)。

4

2 回答 2

9

正如杰伊帕特尔所说,这是不可能的。但是有解决方法!您可以创建自定义Toast,其中可以包含任何View. 这意味着您可以在一个 toast中的不同位置使用两条消息进行布局。

您可以在此处找到如何执行操作,或者您可以直接从以下代码段开始:

LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast,
                           (ViewGroup) findViewById(R.id.toast_layout_root));

TextView text = (TextView) layout.findViewById(R.id.text);
text.setText("This is a custom toast");

Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
于 2015-06-27T01:46:58.337 回答
2

简短的回答,不,你不能

你不能同时显示2 Toast。我确信这一点,我已经尝试过了,但我只能显示一个 Toast。

但是如果你想真正同时显示两个toast,那么你将设置线程机制在同一个地方一个接一个地显示。

于 2014-03-23T17:42:17.017 回答