Androidアプリ開発でBitmapクラスを使って画像を表示させる方法
Androidアプリ開発で、【Bitmapクラス】を使って画像を表示させる方法を初心者向けに解説した記事です。このクラスを使うことで、画像を表示したり変更したりすることができます。サンプル画像を使って実演してみました。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Androidアプリを開発では、Bitmapクラスを使って画像を表示したり変更したりすることができます。
そこで今回はBitmapクラスを使って画像を表示させる方法を初心者向けにご紹介します。
本記事はTechAcademyのAndroidアプリ開発オンラインブートキャンプの内容をもとに解説しています。
田島メンター!!画像を表示したり変更したりするのってどうやって実装したらいいんですか〜?
それならBitmapクラスを使うと実装できるよ。Bitmapクラスは複数の画像形式に対応しているんだ。
どうやって使うんですか〜?
Bitmapクラスで使える画像形式
Bitmapクラスを使って画像を表示するときに使用できる画像形式は次の3種類です。
- JPEG(JPG)
- PNG
- GIF
これらの画像形式で画像を用意するようにしましょう。
Bitmapクラスの使い方
それでは、実際に使用してみましょう。
使用する画像は、resファイル内にdrawableファイルを用意し、画像を配置します。その際、形式が違うファイルで画像の名前が同じにならないように注意しましょう。
今回は、次の2つの画像を用意しました。
まず、レイアウトファイルにImageViewを用意しておきます。
ImageViewはレイアウトエディタのパレットの「Images」から配置できます。パレット内のImageViewを、配置したい場所までドラッグしましょう。
すると、以下の画像のようなダイアログが表示されます。これは、表示する画像を選択するためのダイアログです。
今回は、後ほど表示する画像を選択するのでキャンセルにしてもいいのですが、画像が変化したことをわかりやすくするため、drawableフォルダにコピーした画像「blue」を選択し、[OK]ボタンをクリックします。
これでImageViewの用意ができました。
ここでMainActivity.javaには次のように記述します。
今回はアプリが起動したときに実行されるonCreateメソッド内に次のように記述してみましょう。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView iv = (ImageView)findViewById(R.id.imageView); Bitmap bmp1 = BitmapFactory.decodeResource(getResources(), R.drawable.red); iv.setImageBitmap(bmp1); }
各行の説明をします。
Bitmap bmp1 = BitmapFactory.decodeResource(getResources(), R.drawable.red);
この行では、drawableに保存した画像をBitmapに変換しています。
iv.setImageBitmap(bmp1);
この行で、上で変換したBitmapをレイアウトに用意したImageViewにセットしています。
これで画像の表示の設定ができました。アプリを実行して画面を確認してみましょう。
アプリを起動すると、onCreateメゾットが実行されるので、ImageViewに表示されるのは、「red.png」になります。
Bitmapクラスを使って画像を表示する方法は以上です。
三角から丸に変更できましたね♪
Androidアプリで何か操作した後に画像を変更することってあるだろうから、覚えておいたほうがいいね。
はい、覚えておきます♪
Androidアプリ開発をさらに効率よくしたい場合は、Androidアプリ開発のLayoutの使い方も合わせてご覧ください。
[お知らせ]TechAcademyでは初心者でもオリジナルアプリが作れるAndroidアプリ開発講座(オンラインブートキャンプ)を開催しています。自分でアプリを公開してみたい場合はご参加ください。