プロジェクションマッピング

エンターテインメントから工業利用まで、プロジェクションマッピングの活用・運用をお考えの方へ

more

インタラクティブ&サイネージ

情報表示用のデジタルサイネージから、センサーを利用したインタラクティブ要素などをお考えの方へ

more

VR/360MOVIE

VRHMD用コンテンツからプラットフォームを利用した360度ムービーを活用したPRをお考えの方へ

more
CONTACT 052-253-9866

【Android Studio】トーストの表示をカスタマイズ!

2014.06.02 月曜日 07:50:42

JS745_kurowasaen_02

先日、トースト表示の実装方法についてご紹介しました。
前回のものはスタンダードなトースト表示でしたが、カスタマイズによってカラー変更や、画像の挿入も可能ですので、
今回、もう少し目立たせられるようにカスタマイズを行っていきます。

カスタマイズされたレイアウトを作成

まず、カスタマイズされたレイアウトを表示させるためのxmlを作成します。
今回、画像とテキストが表示されるようにします。ファイル名はtoast_layout.xmlにしました。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dip"
    android:background="#DDD"
    >
    <ImageView android:id="@+id/toastImage"
        android:layout_width="64dip"
        android:layout_height="64dip"
        android:layout_marginRight="10dip"
        />
    <TextView android:id="@+id/toastText"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:textColor="#333"
        />
</LinearLayout>

アクティビティ側の追記

今回は、前回のトースト表示に2つのクラスをimportしました。

import android.view.LayoutInflater;
import android.widget.ImageView;

続いて、トースト表示部分を書き換えます。以下の記述を…

String text = editText.getText().toString();
Toast.makeText(this, text+"を取得しました!", Toast.LENGTH_LONG).show();

以下のように変更しました!

        // インフレータ取得
        LayoutInflater inflater = getLayoutInflater();

        // xmlを指定
        View layout = inflater.inflate(R.layout.toast_layout, null);

        // 画像を設定
        ImageView toastImage = (ImageView) layout.findViewById(R.id.toastImage);
        toastImage.setImageResource(R.drawable.toast_1);

        // テキストを設定
        TextView toastText = (TextView) layout.findViewById(R.id.toastText);
        toastText.setText("左に画像を挿入しました。テストテストテスト");

        Toast toast = new Toast(this);
        toast.setView(layout);
        // 中央に表示
        toast.setGravity( Gravity.CENTER, 0, 0 );
        toast.show();

結果はこのようになりました!
ボタンとか入力欄は、前回のサンプルそのまま使ってるだけなので、気にしないでください…

スクリーンショット 2014-06-02 7.26.35

作成したxmlを取得して、表示させることができました!
これでお知らせを目立たせることが可能!アラートと違って、ユーザーにも優しい表示方法の出来上がりです!

今回参考にさせて頂いたサイトはこちらです。ありがとうございました!
Category:Android , Development , Mac     Tag:
Authorブログの著者について
田中 義弘

田中 義弘

イベントプロダクション・グラフィックデザイナーを経て、2010年3月に株式会社アイデアクラウドを設立。近年、WEBから得た技術をベースに、プロジェクションマッピング事業をはじめとした先端事業をスタート。

Our Business
最近の記事
人気記事
Our Project