とにかく、トースト通知に指定した時間だけ表示するように指示できますか?通常、通常のトーストメッセージよりも短くなります。
標準のトーストの持続時間よりも短い特定の遅延の後にtoast.cancel()を呼び出すことで、これに対する解決策を見つけました。
final Toast toast = Toast.makeText(ctx, "This message will disappear in 1 second", Toast.LENGTH_SHORT);
toast.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 1000);
番号。
次のようなことができます:
Toast a = Toast.makeText(this, "a", Toast.LENGTH_LONG);
a.setDuration(300);
しかし、それ自体は表示されません。
期間はLENGTH_SHORT
またはLENGTH_LONG
。
これを試して
final Toast toast = Toast.makeText(getBaseContext(), "YOUR MESSAGE",Toast.LENGTH_SHORT);
toast.show();
new CountDownTimer(10000, 1000)
{
public void onTick(long millisUntilFinished) {toast.show();}
public void onFinish() {toast.cancel();}
}.start();
この助けを願っています。
説明されているように、ハックを使用してより長い期間を設定できます here
//それを試してみてください
public void myToast(String message) {
LayoutInflater myInflator = getLayoutInflater();
View myLayout = myInflator.inflate(R.layout.custom_layout,
(ViewGroup) findViewById(R.id.toastlayout));
TextView myMessage = (TextView) myLayout.findViewById(R.id.label);
myMessage.setText(message);
Toast toast = new Toast(getApplicationContext());
toast.setView(myLayout);
toast.setDuration(400);
myMessage.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL
| Gravity.CENTER_VERTICAL);
toast.show();
}
ストックAndroid Toastクラスは、Toastを呼び出すときにToast.LENGTH_SHORTまたはToast.LENGTH_LONGパラメーターのみを受け入れるようにコード化されています。これらのパラメーターの値はそれぞれ0と1であり、ミリ秒の値を受け入れません。 setDuration();を呼び出すとき、my SuperToasts ライブラリのクラスを使用する場合とは異なる期間、トーストを表示する必要がある場合、ライブラリの SuperToast クラスは、在庫の模倣Android Toastクラスであり、ミリ秒値を期間パラメータとして使用できます。このクラスを使用してToastlonger最大在庫よりAndroidトーストの長さの影響によるトーストの長さ。表示するには SuperActivityToast クラスを使用することをお勧めしますアクティビティと一緒にトーストが破棄されるので、アクティビティ/フラグメント内のメッセージをトーストします。メッセージが残っている可能性はなくなります。このクラスを使用するには、新しいオブジェクトを作成します。
SuperActivityToast superActivityToast = new SuperActivityToast(this);
superActivityToast.setDuration(SuperToast.DURATION_SHORT);
// setDuration(); can also accept millisecond values
// superActivityToast.setDuration(1000);
superActivityToast.setText("Hello world!");
superActivityToast.show();
または、静的メソッドを使用します。
SuperActivityToast.createDarkSuperActivityToast(this, "Hello world!", SuperToast.DURATION_SHORT).show();
ライブラリで使用できるカスタマイズオプションはたくさんあります。 Wiki ページをチェックしてください!