カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

Toastに画像を表示する

本来、テキストを表示するToastですが、画像を表示することもできます。
画像の周りに白い余白をつけて、4分の1サイズで表示するサンプルです。

private void showImgToast(String filename) {
    int WC = ViewGroup.LayoutParams.WRAP_CONTENT;

    ImageView v = new ImageView(this);
    v.setImageURI(Uri.parse(filename));
    v.setLayoutParams(new LayoutParams(WC, WC));
    v.setBackgroundColor(Color.WHITE);
    v.setPadding(5, 5, 5, 5);

    BitmapFactory.Options bmOp = new BitmapFactory.Options();
    bmOp.inSampleSize = 4;
    v.setImageBitmap(
        BitmapFactory.decodeFile(
                filename,
                bmOp));

    Toast myToast = new Toast(this);
    myToast.setDuration(100);
    myToast.setGravity(Gravity.CENTER, 0, 0);
    myToast.setView(v);
    myToast.show();
}
2,796 views