Toastでシンプルにユーザ通知する


Androidにはユーザー通知のためにToastが用意されています。
画像のように、画面中央下へ、テキストを表示して消える通知方法です。
「~を登録しました」
「~をダウンロードしました」
など簡単なお知らせに使えます。重要なメッセージについては、AlertDialogの方が向いていますが、とても使いやすいwidgetです。

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

public class ToastDialogActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Toast.makeText(this, "Toast example", Toast.LENGTH_LONG).show();

}
}

より詳しいメソッド解説については続きで。

テキストの設定・表示

テキストはCharSequenceの直接指定か、リソースファイルより選択できます。

public static Toast   makeText  (Context context, int resId, int duration)
public static Toast   makeText  (Context context, CharSequence text, int duration)
void show()

int durationについては、短時間・長時間表示どちらかを指定できます。

Toastの表示時間

定数によって指定します。

定数値 意味
Toast.LENGTH_SHORT 短時間表示
Toast.LENGTH_LONG 長時間表示

そのほか主なメソッドは以下の通りです。

Toastのメソッド一覧

主に設定に使えるメソッドを紹介します。getメソッドについては省略しています。

メソッド名 機能
public void setDuration(int duration) 表示時間の設定
public void setGravity(int gravity, int xOffset, int yOffset) 表示位置の設定
public void setMargin(float horizontalMargin, float verticalMargin) 水平・垂直マージンをパーセンテージで指定できます
public void setText(CharSequence s) 表示文字列の設定
public void setText(int resId) リソースより取得して表示
public void setView(View view) Viewを指定します
public void show() 表示を行います
public void cancel() 表示をキャンセルします


Toast.cancel()については、通常、開発者が意識して呼び出す必要はありません。

Android DevelopersにはToastの項目で

Close the view if it’s showing, or don’t show it if it isn’t showing yet. You do not normally have to call this. Normally view will disappear on its own after the appropriate duration.

と解説しています。
Viewを閉じるときにToastが表示されている場合、もしくはまだ表示されていない場合に呼び出す必要があります。
ただし、通常のViewはToastの表示後に消えるともあります。Toastは表示終了を知ることができないので、Toastの連続表示時にはCancelメソッドが有効です。

3 Comments