Display two Toast messages at once?

本小妞迷上赌 提交于 2020-01-02 02:36:08

问题


I would like one Toast message to display in one location and a different Toast message to display in another location simultaneously.

  1. Multiple Toast messages seem to always queue and display in order. Is it possible to show both messages at the same time?

  2. Is there a workaround that at least gives that appearance and doesn't involve messing with the activity layout?

Edit: It seems the answer to the first question is no, it's not possible. How about a workaround? A solution for me would include something that appears "over" the app like a Toast and doesn't interfere with user interaction with the app (so, not an AlertDialogue or anything that calls onPause() etc.).


回答1:


As S͢ky D͢ream said, it cannot be done. But there IS workaround! You can create custom Toast which can contain any View. That means you can have layout with two messages on different places inside one toast.

You can find how to do that here, or you can start directly with this snippet:

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();



回答2:


Short answer, No you can't

You can not show 2 Toast at the same time. i am sure about this, i already tried, but i can display only one Toast.

But if you want to really display two toasts at the same time then you will set thread mechanism to shown one after another in the same place.



来源:https://stackoverflow.com/questions/22594376/display-two-toast-messages-at-once

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!