【Androidアプリケーションの設定画面を作ろう】SwitchPreferenceを使う
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" />