8

1 つのトースト メッセージを 1 つの場所に表示し、別のトースト メッセージを別の場所に同時に表示したいと考えています。

  1. 複数のトースト メッセージが常にキューに入れられ、順番に表示されるようです。両方のメッセージを同時に表示することはできますか?

  2. 少なくともその外観を与え、アクティビティのレイアウトを台無しにしない回避策はありますか?

編集:最初の質問に対する答えはノーのようです。それは不可能です。回避策はどうですか?私にとっての解決策には、トーストのようにアプリの「上」に表示され、アプリとのユーザーのやり取りを妨げないものを含めることになります (つまり、AlertDialogue や onPause() などを呼び出すものではありません)。

4

2 に答える 2

9

ジェイ・パテルが言ったように、それはできません。しかし、回避策がありますToast任意の を含むことができるカスタムを作成できますView。つまり、1 つのトースト内の異なる場所に2 つのメッセージを配置できるということです。

その方法はこちらで確認できます。または、次のスニペットから直接開始することもできます。

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同時に表示することはできません。私はこれについて確信しています、私はすでに試しましたが、トーストを1つしか表示できません。

ただし、実際に 2 つのトーストを同時に表示したい場合は、スレッド メカニズムを同じ場所に次々に表示するように設定します。

于 2014-03-23T17:42:17.017 に答える