[Android] ListView アイテム個々の背景、高さなどを変える

ListViewのアイテム個々の背景や要素の高さなど、同じ共通設定から個別の設定に変更したい場合があります。itemの表示は動的に変わるのでそれに合わせて変更させます。

Android Studio 4.1.3
API 30

R904D.P21641J - [Android] ListView アイテム個々の背景、高さなどを変えるimpression?a id=2545321&p id=969&pc id=1263&pl id=47128 - [Android] ListView アイテム個々の背景、高さなどを変える

ListView convertView

 
例えば、特定の要素の背景だけ変えたい場合、adpterのViewHolderを使ったリサイクルを実行している箇所で、convertviewを使うと可能です。 

as413 m6 - [Android] ListView アイテム個々の背景、高さなどを変える

 

特定のセル背景色を変更

 
getView()の中で要素セルの順番はpositionで何行目かわかります。

但しあまり重くならないようにしないと遅くなったりout of memoryになる可能性が増します
 

 
これでpositionが2のところだけ背景色を変更できます。 

セルの高さ・文字色の変更

 
更に、高さ、文字色等を変えたり、他のitemの背景色も変えていく設定はこのようになります。
 

 
as413 m7 - [Android] ListView アイテム個々の背景、高さなどを変える

 

サンプルコード

 
MainActivity.java

 
ListViewAdapter.java

 

レイアウト
activity_main.xml

 

list.xml

 
strings.xml

 

 
 

    ArrayAdapter
  1. ListView と ArrayAdapter 簡単なテキストリストの表示
  2. ArrayAdapterを使ってレイアウトをアレンジ
  3. ListActivity と ArrayAdapterで画像とテキストをリスト表示
    Basedapter
  1. BaseAdapterで画像とテキストをリスト表示
  2. ListViewリストをタップして画面遷移
  3. ListViewアイテムの移動、削除
  4. ListView アイテム個々の背景、高さなどを変える

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

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

TECH ACADEMY
Androidアプリコース



Code Camp
現役エンジニアによるオンラインプログラミングスクール【CodeCamp】


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



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


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


シェアする

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

フォローする