Toastを表示してユーザーに通知する/Getting Startted


Androidでは、Toastを用いて簡単にユーザーへの通知を行うことが可能です。

ダウンロード完了通知やユーザ登録完了通知のように、ユーザーの判断を仰ぐ必要のないバックグラウンド処理の完了通知などを行う際には非常に簡単で便利です。

例えば、以下に示すようにソースコードにたった一行付け足すだけで、図に示すようなToastの表示を行うことが可能です。

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

主に利用するToastクラスのメソッドは以下の通りです。

メンバ変数内容
int BOLD太字
int BOLD_ITALIC 太字斜体
int ITALIC 斜体
int NORMAL通常書体
public static final Typeface DEFAULT標準のスタイル
public static final Typeface DEFAULT_BOLD標準の太字時スタイル
public static final Typeface MONOSPACE等幅フォントスタイル
public static final Typeface SANS_SERIFゴシック系フォントスタイル
public static final Typeface SERIF明朝系フォントスタイル

詳しい使い方については続きにて解説します

Toastのインスタンス生成と表示

Toastの表示を行うには、以下の手順を踏む必要があります。

それでは上記順序に従ってソースコードを書いていきます。

(1)makeText()メソッドでインスタンス生成

まずはインスタンスを生成します。

インスタンスの生成にはmakeText()メソッドを用います。

Toast toast = Toast.makeText(this, "Toast example", Toast.LENGTH_LONG);

引数とその概要の関係は以下の通りです。

メソッド名説明
setClassNameメソッドIntentを受け渡す先のActivityを指定します。
putExtraメソッドIntentで受け渡す情報をセットします。
put◯◯ArrayListExtraメソッドArrayListをIntentでの受け渡しにセットします。
◯◯には、受け渡すArrayListの中身の型を入力します。
startActivityメソッドIntentを受け渡す作業を開始します。
getIntentメソッドIntentを受け取ります。
get◯◯Extraメソッド受け取ったIntentから渡される情報を引き出します。
◯◯には、引き出された情報の型を入力します。
get◯◯ArrayListExtraメソッド受け取ったIntentから渡されるArrayListを引き出します。
〇〇には、引き出したArrayListの中身の型を入力します。

第3引数の表示時間には、2種類のパラメータを利用可能です。

パネル名概要
Canvas親からの絶対位置で子要素を配置する。
StackPanel子要素を縦か横方向に並べる。
Grid子要素をHTMLのテーブルのように配置する。

(2)パラメータ(位置やテキスト)のセット

次に各種メソッドを用いてパラメータをセットします。こちらは特に必須というわけではありません。

利用可能なメソッドは以下の通りです。

要素名概要
sectionHTMLドキュメント内の一般的なセクションを表す
headerセクションのヘッダを表す
footerセクションのフッタを表す
navナビゲーションに特化したセクションを表す
articleニュース記事やブログの投稿などの独立したコンテンツのセクションを表す
asideHTMLドキュメント内の主要なセクションと少し関連のあるセクションを表す
hgroupセクションの見出しを表したり、まとめるための要素
figure図、写真、表、ソースコードなどを表す
figcaption図、写真、表、ソースコードなどのキャプションを表す
mark文章内のテキストをハイライトさせる
rubyルビをふる
rtルビのテキストを指定する要素
rpルビのテキストを囲む記号を表す
timeグレゴリオ暦による日付、時刻を表す

ここでは例として、表示位置(Gravity)のパラメータをセットしてトーストの表示位置を指定します。

toast.setGravity(Gravity.CENTER|Gravity.LEFT, 0, 0);

第一引数にGravity.CENTER|Gravity.LEFTをセットすることで、トーストの表示位置に画面中央左を指定しました。

なお、setGravity()メソッドでは、ほかにも以下のようなパラメータを設定できます。

[table “55” not found /]

(3)show()メソッドで表示

最後にshow()メソッドを使用してトーストを表示します。

toast.show();

表示されたトーストは下図のようになります。トーストの位置が左中央になっていることがわかります。

まとめ

Toastは、簡単に表示できて使い易いため、デバッグなどで用いる場合にも便利です。

また、カスタムすることによって画像の表示を行うといったことも可能です(こちらの記事を参照)。

最後に全体のソースコードを以下に示します。

public class ToastSampleActivity extends Activity {

	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //ここからToast表示の処理
        Toast toast = Toast.makeText(this, "Toast example", Toast.LENGTH_LONG);
        toast.setGravity(Gravity.CENTER|Gravity.LEFT, 0, 0);
        toast.show();

        //一行で画面下に表示してみる
//        Toast.makeText(this, "Toast example", Toast.LENGTH_LONG).show();
    }
}

たった3行で表示できていることがわかります。

任意のタイミングで表示させてみましょう。

関連する記事:

No Comments