기본 설정 구성 요소 및 속성   Part of Android Jetpack.

이 주제에서는 설정 화면을 빌드할 때 가장 일반적으로 사용하는 몇 가지 Preference 구성 요소와 속성을 설명합니다.

기본 설정 구성 요소

이 섹션에서는 많이 사용하는 Preference 구성 요소를 설명합니다. 자세한 내용은 각 구성 요소의 해당 참조 페이지를 참조하세요.

기본 설정 인프라

PreferenceFragmentCompat - Preference 개체의 대화식 계층 구조를 표시하도록 처리하는 Fragment.

기본 설정 컨테이너

PreferenceScreen - 설정 화면을 나타내는 최상위 컨테이너. Preference 계층 구조의 루트 구성 요소입니다.

PreferenceCategory - 유사한 Preferences를 그룹화하는 데 사용하는 컨테이너. PreferenceCategory 는 범주 제목을 표시하고 Preferences 그룹을 시각적으로 분리합니다.

개별 기본 설정

Preference - 개별 설정을 나타내는 기본 구성 요소. Preference를 유지하도록 설정되면 애플리케이션의 다른 곳에서 액세스할 수 있는 설정에 대한 사용자의 선택이 저장된 해당 키-값 쌍이 포함됩니다.

EditTextPreference - String 값을 유지하는 Preference. 사용자는 Preference를 탭해서 유지된 값을 변경할 수 있는 텍스트 필드가 포함된 대화상자를 실행할 수 있습니다.

ListPreference - String 값을 유지하는 Preference. 사용자는 해당 라벨이 있는 라디오 버튼 목록이 포함된 대화상자에서 이 값을 변경할 수 있습니다.

MultiSelectListPreference - String 집합을 유지하는 Preference. 사용자는 해당 라벨이 있는 체크박스 목록이 포함된 대화상자에서 이 값을 변경할 수 있습니다.

SeekBarPreference - Integer 값을 유지하는 Preference. 이 값은 Preference 레이아웃에 표시된 해당 시크바를 드래그하여 변경할 수 있습니다.

SwitchPreferenceCompat - Boolean 값을 유지하는 Preference. 이 값은 해당 스위치 위젯과 상호작용하거나 Preference 레이아웃에서 탭해서 변경할 수 있습니다.

CheckBoxPreference - Boolean 값을 유지하는 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에 대해 키를 설정해야 합니다.

예: app:key="key"

enabled

사용자가 Preference와 상호작용할 수 있는지 나타내는 Boolean 값. 이 값이 false인 경우 Preference가 비활성화로 나타나고 사용자는 이와 상호작용할 수 없게 됩니다. 기본값은 true입니다.

예: app:enabled="false"

selectable

사용자가 Preference와 상호작용할 수 있는지 나타내는 Boolean 값. 기본값은 true입니다.

예: app:selectable="false"

isPreferenceVisible

Preference 또는 Preference 범주를 표시할지 나타내는 Boolean 값. 이는 setVisible()을 호출하는 것과 같습니다.

예: app:isPreferenceVisible="false"

defaultValue

Preference에 대한 기본값을 나타냅니다. 이 Preference에 대해 다른 유지된 값을 찾지 못한 경우 이 값이 설정 및 유지됩니다. 값 유형은 관련 Preference에 따라 달라집니다.

예: app:defaultValue="true"

dependency

Preference의 상태를 제어하는 SwitchPreferenceCompat의 키를 나타냅니다. 해당 스위치가 꺼지면 이 Preference가 비활성화되어 수정할 수 없게 됩니다.

예: app:dependency="parent"

PreferenceCategory 속성

initialExpandedChildrenCount

펼칠 수 있는 Preference 동작을 활성화하는 Integer 값. 이 값은 PreferenceGroup에서 표시하기 위한 최대 하위 요소 개수를 나타냅니다. 그 외에 추가 하위 요소는 접히고 펼치기 버튼을 탭하여 표시할 수 있습니다. 기본적으로 이 값은 Integer.MAX_VALUE이고 모든 하위 요소가 표시됩니다.

경고:이 속성을 사용할 경우 PreferenceCategory에 키를 설정해야 합니다. 그래야 상태가 올바르게 저장되고 구성이 변경(예: 화면 회전)될 때 복원됩니다.

예: app:initialExpandedChildrenCount="0"

ListPreference/MultiSelectListPreference 속성

entries

사용자에게 표시될 목록 항목에 해당하는 문자열의 배열 . 각각의 값은 내부에서 유지되는 값 배열에 대해 색인으로 대응됩니다. 예를 들어 사용자가 첫 번째 목록 항목을 선택하면 해당 값 배열에서 첫 번째 요소가 유지됩니다.

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

경고: 두 배열의 길이가 동일하고 각 배열의 색인이 올바른 항목/값 쌍과 일치하는지 확인하세요.

entryValues

유지할 항목의 배열. 각각의 값은 사용자에게 표시되는 목록 항목의 배열에 대한 색인으로 대응됩니다.

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