Preference のコンポーネントと属性   Part of Android Jetpack.

このトピックでは、Preference のコンポーネントと属性のうち、設定画面をビルドする際に最もよく使用されるもののいくつかについて説明します。

Preference のコンポーネント

このセクションでは、Preference コンポーネントのうちよく使用されるものについて説明します。 詳細については、各コンポーネントに対応するリファレンス ページをご覧ください。

Preference のインフラストラクチャ

PreferenceFragmentCompat - Preference オブジェクトのインタラクティブな階層の表示を処理する Fragment

Preference のコンテナ

PreferenceScreen - 設定画面を表す最上位のコンテナ。 これは、Preference 階層のルート コンポーネントです。

PreferenceCategory - 類似した Preferences をグループ化するために使用されるコンテナ。 PreferenceCategory は、カテゴリのタイトルを表示し、Preferences のグループを視覚的に分けて表示します。

個々のプリファレンス

Preference - 個々の設定を表す基本的なビルディング ブロック。 Preference が持続するように設定されている場合、それに対応するキーと値のペアがあり、設定に関するユーザーの選択内容がそこに保持されて、アプリケーション内のどこからでもアクセスすることができます。

EditTextPreference - String 値を保持する Preference。 ユーザーが Preference をタップすると、テキスト項目が含まれるダイアログが表示され、そこで保持されている値を変更することができます。

ListPreference - String 値を保持する Preference。 ユーザーは、対応するラベルの付いた一連のラジオボタンが含まれるダイアログでこの値を変更できます。

MultiSelectListPreference - 一連の String を保持する Preference。 ユーザーは、対応するラベルの付いた一連のチェックボックスが含まれるダイアログでこれらの値を変更できます。

SeekBarPreference - 整数値を保持する Preference。 この値は、Preference レイアウトに表示される、対応するシークバーをドラッグすることにより変更できます。

SwitchPreferenceCompat - ブール値を保持する Preference。 この値は、対応するスイッチ ウィジェットの操作により、または Preference レイアウト上をタップすることにより、変更できます。

CheckBoxPreference - ブール値を保持する Preference。 この値は、対応するチェックボックスの操作により、または Preference レイアウト上をタップすることにより、変更できます。

Preference の属性

Preference の外観と動作を設定するために最もよく使用される属性のいくつかのリストを以下に示します。

汎用属性

title

Preference のタイトルを表す String 値。

例: app:title="Title"

summary

Preference の概要を表す String 値 。

例: app:summary="Summary"

icon

Preference のアイコンを表す Drawable

例: app:icon="@drawable/ic_camera"

key

関連する Preference の値を保持するために使用されるキーを表す String 値。 キーにより、実行時に Preference をさらにカスタマイズすることが可能です。 階層構造の中の Preference ごとにキーを 1 つ設定してください。

例: app:key="key"

enabled

ユーザーが Preference を操作できるかどうかを示すブール値。 この値が false の場合、Preference はグレー表示になり、ユーザーはそれを操作できません。 デフォルト値は true です。

例: app:enabled="false"

selectable

ユーザーが Preference を操作できるかどうかを示すブール値。 デフォルト値は true です。

例: app:selectable="false"

isPreferenceVisible

Preference または Preference のカテゴリが表示されるかどうかを示すブール値。 これは、 setVisible() を呼び出すのと同じです。

例: app:isPreferenceVisible="false"

defaultValue

Preference のデフォルト値を表します。 この値は、この Preference の持続値が他に見つからない場合に設定され、保持されます。 値の型は、関連する Preference に応じて異なります。

例: app:defaultValue="true"

dependency

この Preference の状態を制御する SwitchPreferenceCompat のキーを表します。 対応するスイッチがオフの場合、この Preference は無効になり、変更できません。

例: app:dependency="parent"

PreferenceCategory の属性

initialExpandedChildrenCount

Preference の展開可能動作を有効にする整数値 。 この値は、PreferenceGroup の中に表示される子の最大数を表します。 この数を超える子は折りたたまれます。それらは、展開ボタンをタップすることによって表示可能です。 デフォルトの場合、この値は Integer.MAX_VALUE であり、すべての子が表示されます。

警告: この属性を使用する場合は PreferenceCategory に対してキーを設定するようにしてください。そのようにすることによって、(画面回転時など)設定が変化した場合に状態が正しく保存および復元されます。

例: app:initialExpandedChildrenCount="0"

ListPreference / MultiSelectListPreference の属性

entries

ユーザーに対して表示するリスト項目に対応する String の配列。 これらの値は、それぞれ内部で保持されている値の配列のインデックスに対応します。 たとえば、ユーザーが最初のリスト項目を選択すると、対応する値の配列の最初の要素が保持されます。

例: app:entries="@array/entries"

警告: 2 つの配列の長さが両方とも同じであること、また各配列のインデックスが正しい項目 / 値のペアに一致することを確認してください。

entryValues

保持する項目の配列。 これらの値は、それぞれユーザーに対して表示するリスト項目の配列のインデックスに対応します。

例: app:entryValues="@array/values"