환경설정 구성요소 및 속성 Android Jetpack의 구성요소

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

환경설정 구성요소

이 섹션에서는 일반적인 Preference 구성요소를 설명합니다. 자세한 내용은 각 구성요소와 관련된 참조 페이지를 참조하세요.

인프라 환경설정

PreferenceFragmentCompat - Preference 객체의 상호작용하는 계층 구조를 표시하도록 처리하는 Fragment입니다.

환경설정 컨테이너

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

PreferenceCategory - 비슷한 Preferences를 그룹화하는 데 사용되는 컨테이너입니다. PreferenceCategory는 카테고리 제목을 표시하고 시각적으로 Preferences의 그룹을 구분합니다.

개별 환경설정

Preference - 개별 설정을 나타내는 기본 빌딩 블록입니다. Preference를 유지하도록 설정하면 이 클래스는 설정의 사용자 선택을 보존하는 키-값 쌍을 가지며 이는 애플리케이션 어디에서나 액세스할 수 있습니다.

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

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

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

SeekBarPreference - 정수 값을 유지하는 Preference입니다. 이 값은 Preference 레이아웃에 표시된 탐색 막대를 드래그하여 변경할 수 있습니다.

SwitchPreferenceCompat - 부울 값을 유지하는 Preference입니다. 이 값은 스위치 위젯과 상호작용하거나 Preference 레이아웃을 탭하여 변경할 수 있습니다.

CheckBoxPreference - 부울 값을 유지하는 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와 상호작용할 수 있는지를 나타내는 부울 값입니다. 이 값이 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

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

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

경고: 두 배열의 길이가 같고 각 배열의 색인이 올바른 항목/값 쌍과 일치하는지 확인해야 합니다.

entryValues

유지될 항목의 배열입니다. 각 값은 사용자에게 표시되는 목록 항목 배열의 색인에 따라 대응됩니다.

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