前回の続き。今回は、一覧表示する文字色とサイズを変更してみます。

サンプルコード: https://github.com/stack3/AndroidListViewSamples

サンプルコードを起動して、CustomTextを選択してください。以下の画面が表示されます。

01

文字色が青、サイズが小さく、パディングも狭くなって表示されています。

custom_text_list_item.xml

今回は、テキストの表示をカスタマイズするので、行のレイアウトのXMLを自分で作っています。

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@android:id/text1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:textColor="@color/blue"
  android:textSize="@dimen/small_text_size"
  android:padding="4dp"
/>

TextViewを配置し、idを@android:id/text1にしてあります。こうしておくとAdapter経由で得られる文字列を自動的にこのTextViewへ設定してくれます。

textColor(文字色)、textSize(文字サイズ)、paddingを設定していることに注目してください。

CustomTextActivity#onCreate

文字列のList作成などは前回同様なので省きます。

Adapterの生成は上記のcustom_text_list_itemを行のレイアウトとして使うことを第2引数に指定しています。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.custom_text_list_item, items);
listView.setAdapter(adapter);

もし、custom_text_list_item.xmlのTextViewのidを独自の@+id/textViewなどにした場合は、以下のように第3引数に指定する必要があります。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.custom_text_list_item, R.id.textView, items);
listView.setAdapter(adapter);

その4へ続く