[Android] Spinner をカスタマイズして画像リストを表示する

cat54 01 - [Android] Spinner をカスタマイズして画像リストを表示する
Spinner はただリスト項目を選択するだけではなく、画像とテキストをレイアウトすることも可能です。ListViewと同じようにadapterをカスタマイズして使い、ちょっとリッチなspinnerにすることもできます。

Android Studio 4.1.1
API 30
 



Customized Spinner

 
Spinnerの基本については Spinner を参照ください。画像をSpinnerで表示することまではあまりないかもしれませんが、リスト要素のフォントやサイズ、背景色などちょっと変更したい場合は多々あります。

spinner custom 02b - [Android] Spinner をカスタマイズして画像リストを表示する
 

 

Adapterのカスタマイズ

 
作成手順としては基本のSpinnerと同じですが、カスタマイズするのはAdapterです。このあたりはListViewのAdapterのカスタマイズと同様です。

  1. 選択肢を設定する
  2. Spinnerのインスタンスを生成して、Adapterを設定
  3. 選択肢が選択された時の処理を記述

1.  画像とその名前を選択肢にします。画像の場合はdrawableに入れてそのresourceの画像名をリストにします。

2. TestAdapterというBaseAdapterを継承したAdapterクラスを作り、これをカスタマイズします。基本のSpinnerではデフォルトで設定されているレイアウトを使いましたが、レイアウトも自由にカスタマイズしていきます。

3. リスナーを設定して選択されたセルの位置を取得して画像を表示します。

@drawableに置いた画像をその名前から引き出すためにsetImageResource( Resource ID )を使います。

 

サンプルコード

 
まとめると

MainActivity.java

 
アダプタークラスのファイルを作成します
TestAdapter.java

 

activty_main.xml

 
Spinnerで表示するリストのレイアウト
list.xml

 
リソース
strings.xml

 

サンプル動画

 

 
関連記事:
プルダウンで項目選択できるSpinnerをアプリに設定する
 
References:
Spinners
ArrayAdapter

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

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

 

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

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

オンラインスクールは色々ありますが、以下の3つはAndroidが学習できる老舗スクールです。


TECH ACADEMY
Androidアプリコース


こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


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


とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


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




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




シェアする

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

フォローする