duyojiぶろぐ

技術系ときどき日常系

ListViewの区切り線の色を変更する

区切り線の色を変えるやり方はこちらを参考にしました。

xmlファイルでListViewを作っている場合はこちらの記事にも書いてあるように

android:divider="#000000"

のようにすれば色を変えられる。

しかし今回私が作っているものではxmlファイルでListViewは使わずJavaファイルで作ったため、Javaで色変えたかったのだが、Javaで記述する際

listView#setDivider( Drawableクラス );

のような形で直接色をColorクラスで指定できなかった。そこで最初の方でも紹介した記事を参考にColorDrawableクラスのインスタンスを作り、そこでres/values/colors.xmlに使いたい色を指定してColorDrawableクラスのインスタンスに読み込ませる。
詳しいやり方は以下の通り

res/values/colors.xml

<resources>
  <drawable name="separate_line">#cceebb</drawable>
</resources>

Javaファイル

ListView lv = new ListView(this);
ColorDrawable separate_line_color = new ColorDrawable(this.getResources().getColor(R.color.separate_line));
lv.setDivider(separate_line_color);

こうするとListViewの区切り線を好きな色に変えられる。