【Androidアプリケーションの設定画面を作ろう】SwitchPreferenceを使う

このエントリーを Google ブックマーク に追加
Pocket
[`yahoo` not found]

SwitchPreferenceはスイッチオン状態とスイッチオフ状態の二つの状態を持つ設定項目を表します。
スイッチオン状態の時はtrue、スイッチオフ状態の時はfalseがそれぞれプリファレンスに保存されます。

summaryOnとsummaryOff

SwitchPreferenceはスイッチオン状態とスイッチオフ状態で説明文を変更することができます。
スイッチオン状態の時にsummaryOnを説明文として表示し、スイッチオフ状態の時はsummaryOffを説明文として表示します。
    <SwitchPreference
        android:title="SwitchPreference"
        android:summaryOn="summaryOn"
        android:summaryOff="summaryOff"/>

switchTextOnとswitchTextOff

SwitchPreferenceのスイッチの文字を変更することができます。
スイッチオン側にswitchTextOnを表示し、スイッチオフ側にswitchTextOffを表示します。
しかし、表示範囲がとても狭いため、短い文字列を設定する必要があります。また、短い文字列であっても表示されない可能性もあります。
    <SwitchPreference
        android:title="SwitchPreference"
        android:switchTextOn="A"
        android:switchTextOff="B"/>

disableDependentsState

SwitchPreferenceが他の設定項目のdependency属性として設定されている場合に効果を表します。
trueが設定された場合にスイッチオン状態の時に他の設定項目を操作不可状態にします。一方、falseが設定された場合にスイッチオフ状態の時に他の設定項目を操作不可状態にします。

    <SwitchPreference
        android:title="true"
        android:key="preference_switch_preference_true"
        android:disableDependentsState="true"/>

    <Preference
        android:title="A"
        android:dependency="preference_switch_preference_true"/>

    <SwitchPreference
        android:title="false"
        android:key="preference_switch_preference_false"
        android:disableDependentsState="false"/>

    <Preference
        android:title="B"
        android:dependency="preference_switch_preference_false" />