読者です 読者をやめる 読者になる 読者になる

ほげほげ(仮)

仮死状態

設定画面のちょっとしたカスタマイズ

Android


久々のAndroidネタです。


AndroidはPreferenceActivityっていうのを使えば簡単に設定画面が作れますが、ある程度レイアウトが決まっています。
今回はそれをちょっとだけカスタマイズしてみようと思います。
今更感もありますが、メモということで。

こういう設定画面を作ってみたいと思います。

f:id:STAR_ZERO:20110323215740p:image

パッと見は普通の設定画面なのですが、「大分類」って箇所が追加されてます。
「中分類」って箇所は「PreferenceCategory」で設定しています。

「大分類」っていうのはカスタムして追加しています。

res/xml/pref.xml

これは設定画面に使われるレイアウトですが、まずは普通に書きます。

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory android:title="中分類">
        <CheckBoxPreference
            android:key="key1"
            android:title="設定1"/>
        <CheckBoxPreference
            android:key="key2"
            android:title="設定2"/>
    </PreferenceCategory>
</PreferenceScreen>

rex/layout/custom.xml

これは「大分類」の箇所にあたるレイアウトです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView
        android:text="大分類"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

res/xml/pref.xmlを編集する

先程のcustom.xmlをpref.xmlに追加します。

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <Preference android:layout="@layout/custom" />    <!-- ←ココを追加 -->
    <PreferenceCategory android:title="中分類">
        <CheckBoxPreference
            android:key="key1"
            android:title="設定1"/>
        <CheckBoxPreference
            android:key="key2"
            android:title="設定2"/>
    </PreferenceCategory>
</PreferenceScreen>


これですべてOKです。
Activityについては普通に書いてください。ココでは省略します。

まとめ

ちょっとだけ面倒ですが、素のActivityをイチから作るよりかは簡単だと思います。
これを使えば設定画面に広告を入れることも可能になると思います。