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

listview layout 01 - [Android] ListView アイテム個々の背景、高さなどを変える
ListViewの背景や高さなど、共通設定から個々の設定に変更したい場合があります。itemの表示は動的に変わるのでそれに合わせないとできません

Android Studio 3.4.2
API 29
AndroidX



ListView convertView

 
例えばadpterのViewHolderを使ったリサイクルをやっているところで
position(何行目かわかる)からその背景色を変えるためには、このようにconvertviewを使います
convertviewはinflateで挿入されるviewでレイアウトのxmlファイルですが、共通でしかも動的にはつかえません。

getView()の中で使います。但しあまり重くならないようにしないと遅くなったりout of memoryになる可能性が増します
 

 

特定のセル背景色を変更

 
ある要素のセルだけ背景色を変えるにはどうするといいでしょうか
 

 
このようにpositionが2のところだけ背景色を変更できました。
 
listview layout - [Android] ListView アイテム個々の背景、高さなどを変える

 

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

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

 
listview layout 02 - [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 アイテム個々の背景、高さなどを変える
誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから 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対応

シェアする

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

フォローする