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

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

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

Android Studio 3.0
Android 8.0

 



ListView convertView

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

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

特定の背景色を変更

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

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

高さ、文字色の変更

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

 
device 2017 01 18 123034 170x300 - [Android] ListView アイテム個々の背景、高さなどを変える
 

まとめたコード

 
MainActivity.java

 
ListViewAdapter.java

 

レイアウト
activity_main.xml

 
list.xml

 
strings.xml

 

 
 

スマホの下取り

まだ1年も使っていないスマホを新機種に変えたくて下取りしようとお店に持ち込んだことがありますが、結局なんだかんだと思ったほどの金額になりませんでした(涙

このネットオフは専業のため高額買取が可能で、お店に行く時間が無い人にとっては送料無料の宅配便が自宅まで引取りに来てくれるのは助かります。

定額買取キャンペーン中であればキズがあっても付属品が無くても減額無しでお得です。」


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

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




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

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

シェアする

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

フォローする