プログラミングが特別なものでなく、多様な仕事やライフスタイルをより良くする、誰もが使える日常のツールとなる社会を目指します。スマホアプリSwift/Kotlin及びバックエンド開発、教育活動に力を入れております。
プログラミングが特別なものでなく、多様な仕事やライフスタイルをより良くする、誰もが使える日常のツールとなる社会を目指します。スマホアプリSwift/Kotlin及びバックエンド開発、教育活動に力を入れております。

Android(Kotlin)のExpandableListViewでindicatorを右に表示してサイズ変更、CheckBoxやRadioButtonをカスタム画像で表示するサンプル

恥ずかしながら案件を受けるまでやったことがなく、意外と検索してもこれというサンプルが見つからなかったので、備忘録として残します。

※すみません、ベースはどなたかの車のサンプルコード参考に改修しました。

ポイントは

  • Kotlin
  • ExpandableListViewのカスタマイズ
  • 矢印などのインジケーターをカスタムかつ右に配置
  • インジケータのサイズ調整
  • チェックボックスやラジオボタンをカスタム表示

百聞は一見にしかずということでソースコードはこちら。

テスト作成なので、冗長なコードは修正くださいm ( _ _ ) m

ソースコード

リストを表示するFragment

ExpandableListViewの用意したデータをもとにアダプター作成してセットするだけ

BaseExpandableListAdapterを継承したアダプタ

iOSのSectionにあたる親とRowにあたる子の描画をカスタマイズ

データ作成

セクションとローのデータ

レイアウト

AndroidJavaやってた人にはお決まりですかね

Fragment表示

セクション部分のメーカーのレイアウト

メーカーの子にあたる車のレイアウト

表示画像をカスタムするためのcheckboxのdrawable

表示画像をカスタムするためのradio buttonのdrawable

indicatorを右に配置、アイコンサイズを調整するdrawable

結局left,right,top,bottomをpaddingのように利用。

チェックボックスとラジオボタンのstyle