[Android] ImageView 画像を表示させる3つの方法

imageview 01b - [Android] ImageView 画像を表示させる3つの方法

アプリで画像を表示させるにはImageViewを使います。画像表示には色々方法がありますが、下のような3つの設定方法について試してみたいと思います。
 

Android Studio 3.4.1
Android 9.+
AndroidX

 



ImageView

 
画像はボタンなどと違って静的なUIとして、例えば背景やあるいは何かを説明する画像などとして使うことが多いでしょう。
 
ここでは3種類の表示方法を取り上げてみます。尚、画像を後から変えたり、サイズの変更などImageView画像を拡大縮小など動的に扱うこともできます。

imageview b02c - [Android] ImageView 画像を表示させる3つの方法
レイアウトに直接
imageview b03b - [Android] ImageView 画像を表示させる3つの方法
drawableから読込
imageview b04b - [Android] ImageView 画像を表示させる3つの方法
assetsから取込

 
画像はdrawableにコピー&ペーストします。下は例として
– img_1.jpg
– img_2.jpg
をdrawableに入れています。
また、img_3.jpgのようにassetsフォルダを作って大きな画像を入れることもできます。
 
imageview a01b - [Android] ImageView 画像を表示させる3つの方法
 

 

レイアウトに直接埋め込むケース

 
これは、最初からレイアウトに書き込んでしまうものです。
 
drawable に img_1.jpg を入れた状態で、レイアウトファイル activity_main.xml には以下のように記述します。
また、レイアウトはデフォルトのConstraintLayoutを使ってますが、RelativeLayoutやLinearLayoutでも簡単に作成できます。
 
activity_main.xml

 
リソースファイルですが、contentDescriptionを入れろというワーニングに対応しただけです。この画像の説明を入れるわけですが、なくても大丈夫ではあります。
res¥values¥strings.xml

 
以上の設定で画像が表示されました。
 
imageview b02c - [Android] ImageView 画像を表示させる3つの方法
 
設定内容をみてみると、
 

 
ここでdrawableにある画像 img_1 を表示する source として定義しています。
(jpg, pngの拡張子はいりません)
 

 
画面の縦横一杯の領域で画像を表示する設定ですが、実際の画像ピクセルと表示領域は必ずしも合ってはいません。scaleTypeは centerCrop を使うと画面に合うように拡大縮小してくれます。
 

 
この場合では、MainActivity.java になにも記述する必要はありません。

 

drawable にある画像を読み込む

 
上と同様に画像 img_2.jpg は同じく drawableにあるとして、そのIDコードを

findViewById

で呼びだし setImageResource(ID) で表示します。
コードで画像を呼び出しているので動的に画像の変更ができます。
 

 
レイアウトは、MainActivityで呼ばれるIDに対応させます

android:id=”@+id/image_view_2″
 

 
まとめるとこうなります
MainActivity.java

 
activity_main.xml

 
リソースファイルです
res¥values¥strings.xml

 

imageview b03b - [Android] ImageView 画像を表示させる3つの方法
 

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加




アプリ開発が上達するお勧め

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう、時間の制約がないところが一番の魅力です。

以下の3つはAndroidが学習できるオンラインスクールです。


TECH ACADEMY
Androidアプリコース



侍エンジニア塾
侍エンジニア塾 無料体験レッスン



CodeCamp
~約8,000名の受講生と80社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp





正直ネットや本では限界があります。直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。

尚、スクールがダメだと言う人がいますが、やる気があれば問題ありません。与えられるのを待っていてはいけないですね
欲しいものは取りに行くのです。


Google Pixel 3 XLグローバル版
SIMフリー 並行輸入品
6.3インチの大画面
背景をぼかすポートレートモード撮影


Anker PowerCore II Slim 10000
Power IQ 2.0搭載
iPhone & Android対応

シェアする

  • このエントリーをはてなブックマークに追加

フォローする