Compose Material 3

차세대 Material Design인 Material Design 3 구성요소로 Jetpack Compose UI를 빌드합니다. Material 3은 업데이트된 테마 설정 및 구성요소, Material You 맞춤설정 기능(동적 색상 등)을 포함하며 새로운 Android 12의 시각적 스타일 및 시스템 UI와 일관되도록 설계되었습니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2023년 2월 22일 1.0.1 - - 1.1.0-alpha07

구조

Compose는 androidx 내의 Maven 그룹 ID 7개의 조합입니다. 각 그룹에는 타겟팅된 기능의 하위 집합이 있으며, 각 기능은 자체적인 출시 노트를 포함하고 있습니다.

다음 표에서는 그룹에 관한 설명과 각 출시 노트 조합의 링크를 제시합니다.

그룹설명
compose.animationJetpack Compose 애플리케이션에서 애니메이션을 빌드하여 풍부한 사용자 경험을 제공합니다.
compose.compilerKotlin 컴파일러 플러그인으로 최적화를 사용 설정하고 @Composable 함수를 변환합니다.
compose.foundation즉시 사용 가능한 구성요소를 사용해 Jetpack Compose 애플리케이션을 작성하고 기초를 확장해 나만의 디자인 시스템 요소를 빌드합니다.
compose.material즉시 사용 가능한 Material Design 구성요소로 Jetpack Compose UI를 빌드합니다. 이는 Compose를 고급 수준에서 사용하는 첫 단계이며, www.material.io에 설명된 것과 동일한 구성요소를 제공합니다.
compose.material3차세대 Material Design인 Material Design 3 구성요소로 Jetpack Compose UI를 빌드합니다. Material 3은 업데이트된 테마 설정 및 구성요소, Material You 맞춤설정 기능(동적 색상 등)을 포함하며 새로운 Android 12의 시각적 스타일 및 시스템 UI와 일관되도록 설계되었습니다.
compose.runtimeCompose의 프로그래밍 모델과 상태 관리를 위한 기본 구성요소이며, Compose 컴파일러 플러그인이 타겟팅하는 핵심 런타임입니다.
compose.ui레이아웃, 그리기, 입력 등 기기와 상호작용할 때 필요한 Compose UI의 기본적인 구성요소입니다.

종속 항목 선언

Compose의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용을 알아보려면 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    implementation "androidx.compose.material3:material3:1.0.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.0.1"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.0.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.0.1")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.1

버전 1.1.0-alpha07

2023년 2월 22일

androidx.compose.material3:material3:1.1.0-alpha07androidx.compose.material3:material3-window-size-class:1.1.0-alpha07이 출시되었습니다. 버전 1.1.0-alpha07에 포함된 커밋을 확인하세요.

새로운 기능

  • rememberTimePickerState()와 함께 작동하는 시간 입력 컴포저블을 추가했으며 이는 시간 입력의 M3 사양을 따릅니다. (Ia4fab)
  • 날짜 범위를 선택하는 Material 3 DateRangePicker API를 추가했습니다. (I7a6c3, b/267194809)
  • DateRangePicker API를 통해 기간을 선택할 수 있도록 Material 3 입력 모드 지원을 추가했습니다. (Ifdbc4)
  • 이제 텍스트 필드 색상을 다음과 같이 맞춤설정할 수 있습니다.
    • 포커스와 오류 상태에 따른 입력란과 자리표시자 텍스트 색상. textColor 매개변수가 unfocusedTextColor로, placeholderColorunfocusedPlaceholderColor로 이름이 변경되었습니다.
    • errorContainerColor 매개변수와 함께 오류 상태를 기반으로 채워진 텍스트 필드의 컨테이너 색상
  • 노출된 드롭다운 메뉴 텍스트 필드 색상이 새로운 접두사 및 접미사 API를 지원하기 위해 매개변수로 업데이트되었습니다. (I9c8b4, b/254284181, b/264766350)

API 변경사항

  • 일부 Slider API 버전을 되돌리고 맞춤 thumb 및 트랙이 포함된 새 실험용 슬라이더에서 다루는 중복 슬라이더 오버로드를 삭제했습니다. RangeSlider를 안정적인 것으로 승격했습니다. (Ie8fbd)
  • 칩의 고도 함수에서 defaultElevationelevation으로 이름을 바꿨습니다. (I0f872)
  • 다음 Material 3 텍스트 필드 API가 더 이상 실험용이 아닙니다. TextField, OutlinedTextField, textFieldWithLabelPadding, textFieldWithoutLabelPadding, outlinedTextFieldPadding (Ieb5c0, b/261561819)
  • TimePickers is24Hour가 시스템 설정을 사용합니다. (I18856)
  • Scaffold API에서 실험용 주석을 삭제했습니다. (Ibb51e, b/261565765, b/261436953)

버그 수정

  • 이제 ModalBottomSheet 기본 도형이 항상 SheetDefaults.ExpandedShape입니다. (I0dfca)
  • Material 3 DatePickerDateRangePicker의 접근성을 개선했습니다. (I5087e)
  • 최대 높이 제약 조건이 전파되어 다운될 수 있는 버그를 수정했습니다. (I30d8c)
  • 클릭 가능하고 선택 가능한 노출 영역에서 시맨틱 역할을 삭제하고 modifier.semantics를 사용하여 역할을 설정하는 데 이를 사용한 구성요소를 업데이트했습니다. (I793d9)

버전 1.1.0-alpha06

2023년 2월 8일

androidx.compose.material3:material3:1.1.0-alpha06androidx.compose.material3:material3-window-size-class:1.1.0-alpha06이 출시되었습니다. 버전 1.1.0-alpha06에 포함된 커밋을 확인하세요.

새로운 기능

  • 이제 텍스트 필드가 접두사 및 접미사 텍스트를 지원합니다. (Ia8578, b/179884561)
  • Material 3 사양에 따라 시간 선택 도구를 표시하는 TimePicker 함수를 추가했습니다. 이 함수는 TimePickerState 및 편의 메서드 rememberTimePickerState와 함께 사용됩니다. (I71910)
  • 이제 DatePicker에서 날짜 입력이 디스플레이 모드입니다. 날짜 선택 도구와 날짜 입력 모드 간 전환할 수 있는 지원을 추가했습니다. (Ieeff7)
  • RichTextTooltips용 API를 추가했습니다. (I58ef3)
  • ModalBottomSheetModalBottomSheetDefaults를 포함하여 Material 3용 모달 하단 시트를 구현했습니다. 향후 시트 구성요소에 사용할 수 있는 SheetStaterememberSheetState도 도입했습니다. (I0853a, b/244189383)

API 변경사항

  • API showSnackbar를 수정했습니다. (I195c2, b/261424370)
  • 지원 칩 및 추천 칩용 API를 수정했습니다. (Ibb67b, b/261424370)
  • ListItem, ListItemDefaults, ListItemColors API를 비실험용으로 승격했습니다. (I7e7fa, b/261438882)
  • SliderPositions, SliderDefaults.Thumb, SliderDefaults.Track을 안정화 버전으로 승격하고 맞춤 미리보기 이미지와 트랙을 포함하는 비실험용 SliderRangeSlider API를 추가했습니다. 이전의 SliderRangeSlider API를 지원 중단했습니다. (Ie5ea6, b/261566890)
  • 개발자가 앵커에 전달하여 길게 누르면 도움말이 표시되어야 한다는 것을 나타낼 수 있도록 Modifier.tooltipAnchor()를 공개로 설정했습니다. PlainTooltipBox API가 더 이상 TooltipState를 null 허용으로 만들지 않도록 업데이트하고 기본값을 지정했습니다. (Ie2fb7)
  • ProgressIndicatorDefaults.circularTrackColor가 일관성을 위해 @Composable로 표시되었습니다. (Id29cc)
  • 속성 getter LocalMinimuTouchTargetEnforcement를 복원하고 지원 중단으로 표시한 후 LocalMinimumInteractiveComponentEnforcement로 리디렉션했습니다. (I60dd5)

버전 1.1.0-alpha05

2023년 1월 26일

androidx.compose.material3:material3:1.1.0-alpha05androidx.compose.material3:material3-window-size-class:1.1.0-alpha05가 출시되었습니다. 버전 1.1.0-alpha05에 포함된 커밋을 확인하세요.

새로운 기능

  • DatePickerDialog 및 접근성 지원
  • RangeSlider에 맞춤 thumb 및 트랙 추가

버전 1.1.0-alpha04

2023년 1월 11일

androidx.compose.material3:material3:1.1.0-alpha04androidx.compose.material3:material3-window-size-class:1.1.0-alpha04가 출시되었습니다. 버전 1.1.0-alpha04에 포함된 커밋을 확인하세요.

새로운 기능

  • 캘린더 UI를 통해 단일 날짜를 선택하는 초기 DatePicker API. 아직 API를 변경하는 중입니다. (I722b9)
  • PlainTooltipBox를 통한 일반 도움말 지원 추가 (I0cdfb)
  • 검색창 (Iad128)
  • SwipeToDismiss (I458a8, b/242889540)

API 변경사항

  • Surface에 IsContainer 시맨틱 속성을 추가했습니다. 이 속성은 나중에 노출 영역과 같은 요소의 시맨틱 의미를 기준으로 순회 순서를 결정하는 데에 사용됩니다. (I63379)
  • 탐색 창 관련 API를 안정적인 것으로 표시합니다. (Iab01e, b/261439597)
  • 원형 진행 상태 표시기용 트랙 색상 매개변수와 원형 및 선형 진행률 표시기용 획 한도 매개변수를 추가했습니다. (Ie668c, b/216325962, b/222964817)
  • 지원 중단된 숨겨진 함수의 반환 유형 null 허용 여부를 더 추가했습니다. (Ibf7b0)
  • Modifier.minimumInteractiveComponentSize를 추가합니다. 이 메서드는 요소가 더 작게 측정되는 경우 터치 상호작용을 구별하기 위해 최소 48.dp의 크기를 예약하는 데 사용할 수 있습니다. (I33f58, b/258495559)
  • 콘텐츠 슬롯이 있는 AlertDialog 컴포저블에 실험용 API를 추가했습니다. (Iec4a2)

버그 수정

  • 진행률 표시기의 진행률이 예상 범위로 올바르게 제한됩니다. (I8a7eb, b/262262727)

알려진 문제

  • androidx.compose.foundation:1.4.0-alpha03에서 androidx.compose.foundation:1.4.0-alpha04로 업데이트할 때 java.lang.NoSuchFieldError 오류가 발생할 수 있습니다. 이 문제는 여기에서 처음으로 신고되었습니다. 수정사항이 제출되었으며, 다음번 Compose 업데이트에서 사용할 수 있습니다. 이 문제를 해결하려면 androidx.compose.materialandroidx.compose.material3 라이브러리를 최신 버전(1.1.0-alpha04)으로 업데이트하거나 androidx.compose.foundation을 1.4.0-alpha03으로 다운그레이드하세요.

버전 1.1.0-alpha03

2022년 12월 7일

androidx.compose.material3:material3:1.1.0-alpha03androidx.compose.material3:material3-window-size-class:1.1.0-alpha03이 출시되었습니다. 버전 1.1.0-alpha03에 포함된 커밋을 확인하세요.

API 변경사항

  • consumedWindowInsets()의 이름을 consumeWindowInsets()로, withConsumedWindowInsets()의 이름을 onConsumedWindowInsetsChanged()로 바꾸고 수정자를 공개로 변경했습니다. (Ie44e1)
  • 사용할 아이콘이 있는 텍스트 버튼에 새 기본 콘텐츠 패딩을 추가합니다. (I8f662)
  • 탐색 메뉴와 레일에 사용 중지된 색상을 추가했습니다. (Ia7892, b/258867034)
  • 상위 스크롤 정보를 쿼리할 수 있는 Modifier API를 추가했습니다. (I2ba9d, b/203141462).
  • 동작이 스크롤 이벤트가 될 가능성이 있는 경우 누르기 상호작용이 올바르게 지연되도록 Clickable을 수정했습니다.
  • ClickablesScrollable ViewGroup 내에서 사용될 때 물결 효과가 올바르게 지연되지 않는 문제를 수정했습니다.
  • 동작이 스크롤 이벤트가 될 가능성이 있는 경우 누르기가 올바르게 지연되도록 창 및 시트를 업데이트했습니다.

종속 항목 업데이트

  • Compose UICompose Material은 이제 Lifecycle 2.5.1에 종속됩니다. (I05ab0, b/258038814)

버전 1.1.0-alpha02

2022년 11월 9일

androidx.compose.material3:material3:1.1.0-alpha02androidx.compose.material3:material3-window-size-class:1.1.0-alpha02가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.

API 변경사항

  • 이제 awaitFirstDownwaitForUpOrCancellation이 더 나은 유연성을 위해 PointerEventPass를 허용합니다. 또한 스크롤 중에 메뉴를 표시하는 ExposedDropdownMenuBox를 수정했습니다. (I7579a, b/212091796)
  • material 및 material3 텍스트 TextFieldOutlinedTextFieldminLines 매개변수를 추가했습니다. 이를 통해 구성요소의 최소 높이를 줄 수로 설정할 수 있습니다. (I4af1d)
  • TopAppBarDefaults smallTopAppBarColors 함수를 지원 중단하고 새 topAppBarColors 함수로 대체했으며 이 함수는 TopAppBar를 만들 때 사용해야 합니다. (Ie6cb9)
  • BasicTextBasicTextFieldminLines 매개변수를 추가했습니다. 이를 통해 줄 수 측면에서 이러한 컴포저블의 최소 높이를 설정할 수 있습니다. (I24294, b/122476634)

버그 수정

  • Material3 IconButtonIconToggleBotton의 콘텐츠를 구성요소의 상태 레이어 도형(예: 원형)으로 자릅니다. (I9da8f)
  • 노출 영역 전체에 동일한 배경 색상을 적용하고, 투명한 색상 값을 사용하여 기본 색상을 재정의할 수 있도록 Material3 중형 및 대형 상단 앱 바를 업데이트합니다. (I67659, b/249688556, b/250838918)

버전 1.1.0-alpha01

2022년 10월 24일

androidx.compose.material3:material3:1.1.0-alpha01androidx.compose.material3:material3-window-size-class:1.1.0-alpha01이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.

버그 수정

  • TextStyle 및 브러시를 사용하여 제목을 적용할 때 상단 앱 바를 수정합니다. (If667e)

버전 1.0

버전 1.0.1

2022년 11월 9일

androidx.compose.material3:material3:1.0.1androidx.compose.material3:material3-window-size-class:1.0.1이 출시되었습니다. 버전 1.0.1에 포함된 커밋을 확인하세요.

버그 수정

  • 노출 영역 전체에 동일한 배경 색상을 적용하고, 투명한 색상 값을 사용하여 기본 색상을 재정의할 수 있도록 Material3 중형 및 대형 상단 앱 바를 업데이트합니다. (I67659, b/249688556, b/250838918)

버전 1.0.0

2022년 10월 24일

androidx.compose.material3:material3:1.0.0androidx.compose.material3:material3-window-size-class:1.0.0이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.

1.0.0의 주요 기능

Compose Material 3의 첫 번째 안정화 버전입니다.

Material Design 3 테마 설정 및 Material You 동적 색상

Material Design 3 구성요소

창 크기 클래스

  • material3-window-size-class는 창 크기 클래스를 지원하는 새로운 라이브러리입니다. 크기 조절이 가능한 체계적인 표시 영역 중단점 세트를 통해 크기 조절이 가능한 애플리케이션 레이아웃을 디자인하고 개발 및 테스트할 수 있습니다. calculateWindowSizeClass을 사용하여 창 크기 클래스 인스턴스를 검색할 수 있습니다. 이 클래스는 더 큰 창 크기에 관한 하단 탐색 대신 탐색 레일을 표시하는 등 UI가 표시되는 방식을 결정하는 데 사용할 수 있습니다. 자세한 내용 및 샘플 사용법은 WindowSizeClass의 API 참조 문서를 확인하세요.

  • 자세한 내용은 이 블로그 게시물을 확인하세요.

버전 1.0.0-rc01

2022년 10월 5일

androidx.compose.material3:material3:1.0.0-rc01androidx.compose.material3:material3-window-size-class:1.0.0-rc01이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.

API 변경사항

  • 텍스트를 지원하기 위한 슬롯 매개변수를 텍스트 필드 API에 추가했습니다. (Iaac0d, b/227146125)

버전 1.0.0-beta03

2022년 9월 21일

androidx.compose.material3:material3:1.0.0-beta03androidx.compose.material3:material3-window-size-class:1.0.0-beta03이 출시되었습니다. 버전 1.0.0-beta03에 포함된 커밋을 확인하세요.

API 변경사항

  • 이제 ExposedDropdownMenuDefaults가 메뉴 항목의 패딩 값을 노출합니다. (I34ee1)
  • 이제 ExposedDropdownMenuBoxScope에는 적절한 a11y 동작을 위해 텍스트 필드에 전달해야 하는 Modifier.menuAnchor() 수정자가 있습니다. (I27fa3)
  • 사용자가 슬라이더를 채우기 위해 미리보기나 트랙을 전달할 수 있도록 현재 Slider API에 두 개의 오버로드된 메서드를 추가합니다. (I21c00)

버그 수정

  • On Error Container의 어두운 테마 색상 매핑이 톤 90으로 업데이트되었습니다. (Ic5612)
  • 작은 Material 3 상단 앱 바에 투명한 배경을 설정할 수 있도록 수정했습니다. (I645e2, b/245575782)

버전 1.0.0-beta02

2022년 9월 7일

androidx.compose.material3:material3:1.0.0-beta02androidx.compose.material3:material3-window-size-class:1.0.0-beta02가 출시되었습니다. 버전 1.0.0-beta02에 포함된 커밋을 확인하세요.

API 변경사항

  • beta01 버전의 m3 구성요소에 도입된 기본 구성요소 인셋이 더 이상 IME 인셋을 고려하지 않습니다.
  • 이제 Material3 Scaffold 구성요소에 contentWindowInsets 매개변수가 있으므로, 콘텐츠 슬롯에서 처리할 인셋의 양을 지정할 수 있습니다. (Icf11a, b/243713323)
  • 실험용 Material 3 SmallTopAppBar 함수를 지원 중단하고 이에 상응하는 TopAppBar 함수를 도입합니다. 새 함수로 사용을 이전하세요. (I74404, b/226918634)
  • 오버더톱 앱 바 플링 및 맞추기 동작을 제어할 수 있습니다. (I15c81)
  • Divider에서 startIndent를 삭제하고 색상을 마지막 매개변수로 이동합니다. (If7be2)

버그 수정

  • 대화상자가 표시되면 대화상자라는 단어를 표시하여 TalkBack 사용자에게 자신을 식별하도록 합니다. (I857ef)

버전 1.0.0-beta01

2022년 8월 24일

androidx.compose.material3:material3:1.0.0-beta01androidx.compose.material3:material3-window-size-class:1.0.0-beta01이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.

API 참조

사용 가능한 최신 테마 설정, 구성요소, 기타 컴포저블을 보려면 Compose Material 3 API 참조 개요를 확인하세요.

API 변경사항

  • Material 3 상단 앱 바가 완전히 접히고 완전히 펼쳐지도록 업데이트했습니다. 또한 TopAppBarDefaults 동작 함수를 컴포저블로 업데이트하고 상단 앱 바 상태 및 애니메이션 사양의 기본값을 제공합니다. (I642b3)
  • 노출 영역 API와 일치하도록 FAB 구성요소 서명을 업데이트했습니다. (I3afaa)
  • 상단 앱 바, 창, 탐색 메뉴, 레일에 대한 인셋 내장 지원을 추가했습니다. 이러한 구성요소는 별도로 또는 Scaffold와 함께 사용할 때 자동으로 개발자를 위한 인셋을 처리합니다. 참고: 이렇게 변경해도 상태 표시줄 아이콘의 자동 처리와 상태 및 탐색 메뉴의 투명도가 추가되지는 않습니다. 더 넓은 화면 환경을 이용하려면 수동으로 계속 진행하세요. (I7e4e6, b/183161866)
  • 향후 유연성 및 성능을 향상할 수 있도록 API 노출 영역을 줄이기 위해 구성요소 기본값을 업데이트했습니다. (I31820)
  • API 내에서 일관성을 유지하기 위해 칩 및 탐색 창 시트 매개변수의 순서를 변경했습니다. (I45d0b)
  • Divider에서 startIndent를 삭제하고 색상을 마지막 매개변수로 이동했습니다.(If7be2)

버전 1.0.0-alpha16

2022년 8월 10일

androidx.compose.material3:material3:1.0.0-alpha16androidx.compose.material3:material3-window-size-class:1.0.0-alpha16이 출시되었습니다. 버전 1.0.0-alpha16에 포함된 커밋을 확인하세요.

새로운 기능

  • 탐색 창에서 맞춤 너비 지정을 지원합니다. (Ia7f10)

API 변경사항

  • API 내에서 일관성을 유지하기 위해 Tab 및 Leading 아이콘 탭 매개변수를 재정렬합니다. (Ie2637)
  • BadgeDefaults를 실험용으로 표시했습니다. (I98ef3)
  • 지원 중단된 탐색 창 함수를 삭제합니다. (I4f2db)
  • Material 3의 Slider 매개변수를 재정렬하여 API 내 일관성을 유지합니다. (I0aee7)
  • NavigationBarNavigationRail 매개변수를 재정렬하여 API 내 일관성을 유지합니다. (I51cda)
  • Material 3의 매개변수를 재정렬하여 API 전체에서 일관성을 유지합니다. (If4ae1)
  • Material 3의 Slider 매개변수를 재정렬하여 API 내 일관성을 유지합니다. (I62673)
  • 상단 앱 바와 일관되도록 아이콘 매개변수를 작업으로 이름을 바꿨습니다. (Id75be)
  • 앵커 정렬이 여전히 유입되기 때문에 BadgeBadgedBox를 실험용으로 표시합니다. (I1712e, b/236524516)
  • 아이콘 버튼 변형의 @ExperimentalMaterial3Api 주석을 @OptIn으로 변경합니다. (I070b5)
  • 탐색 창의 콘텐츠를 자체 컴포저블로 분리하여 맞춤 너비 지정을 지원합니다. (Ia7f10)
  • MenuDefaultsTabDefaults에서 Divider를 삭제합니다. (I4e33c)

버전 1.0.0-alpha15

2022년 7월 27일

androidx.compose.material3:material3:1.0.0-alpha15androidx.compose.material3:material3-window-size-class:1.0.0-alpha15가 출시되었습니다. 버전 1.0.0-alpha15에 포함된 커밋을 확인하세요.

새로운 기능

  • 상단 앱 바를 바 자체에서 드래그하도록 허용합니다. (I65c00, b/205873416)

API 변경사항

  • FilterChipElevatedFilterChip API를 업데이트하여 selectedIcon 슬롯을 삭제하고, 선택된 상태를 표시하는 leadingIcon을 재사용합니다. (Ie5dc2)
  • 스크림 및 윤곽선 변형 색상 역할을 추가합니다. (Id6d54)
  • 컴포저블 기본값의 이름 지정 규칙을 수정했습니다. (I62b27)
  • ListItemDefaultsListItemColors를 실험용으로 표시합니다. (I1f3ec)
  • 상태 속성의 의미를 더 잘 반영하도록 상단 앱 바 API를 변경했습니다. 또한 상단 앱 바 API를 실험용으로 표시합니다. (Ic0ad8)
  • 검색 가능성을 높이기 위해 이제 텍스트 선택 색상을 TextFieldColors에 추가했습니다. (Iba1b8)
  • 아이콘이 포함된 버튼과 함께 사용할 ButtonDefault.ButtonWithIconContentPadding을 추가합니다. (I2bf9c)
  • 향후 API 변경에서 더 유연하게 적용될 수 있도록 텍스트 필드를 실험용으로 표시했습니다. (I127b5)
  • Checkbox 함수에서 @ExperimentalMaterial3Api 주석을 삭제했습니다. (I5eefc)
  • RadioButton 함수에서 @ExperimentalMaterial3Api 주석을 삭제했습니다. (I17e2a)
  • 비대화형 카드에서 @ExperimentalMaterial3Api 주석을 삭제했습니다. (I9bd49)
  • 색상, 도형 등을 포함하도록 다양한 구성요소의 기본 객체를 업데이트합니다. (I96e11)

버그 수정

  • 카탈로그 앱에서 사용자 혼동을 방지하기 위해 입력 칩 샘플에서 작동하지 않는 후행 아이콘을 삭제했습니다. (I9846a)

버전 1.0.0-alpha14

2022년 6월 29일

androidx.compose.material3:material3:1.0.0-alpha14androidx.compose.material3:material3-window-size-class:1.0.0-alpha14가 출시되었습니다. 버전 1.0.0-alpha14에 포함된 커밋을 확인하세요.

새로운 기능

  • M3 목록 구현을 추가했습니다. 샘플 사용에 관한 문서를 참고하세요. (Id7a20)

API 변경사항

  • 매개변수 이름을 여러 값에서 RangeSlider의 값으로 변경합니다. (I3b79a)
  • Material Design 사양에 따라 선택 가능한 상태를 지원하기 위해 API의 InputChip 구현이 변경되었습니다. 선택한 사용 중지 상태를 위해 FilterChip 색상에 지원이 추가되었습니다. (I55244, b/235792432)
  • BottomAppBar 기본 FAB를 추가합니다. (Ida4c8)
  • ColorScheme.surfaceColorAtElevation이 추가되었습니다. (Id41af)
  • Compose 라이브러리의 인터페이스는 이제 jdk8 기본 인터페이스 메서드를 사용하여 빌드됩니다. (I5bcf1)
  • WindowWidthSizeClassWindowHeightSizeClass가 이제 Comparable을 구현하므로 연산자 (<, <=, >=, >) 및 기타 API를 사용하여 비교 가능합니다. (I747d0)

버그 수정

  • 더 의미 있는 콘텐츠 설명을 제공하기 위해 배지 샘플을 업데이트합니다. (I10b9d)
  • Material 3 카탈로그의 테마 선택 도구에 시스템 글꼴 크기를 사용하기 위한 옵션을 추가합니다. (I10605)
  • 배지 및 확실하지 않은 진행 상태 표시기의 샘플 코드를 추가합니다. (I8fbe0)

버전 1.0.0-alpha13

2022년 6월 1일

androidx.compose.material3:material3:1.0.0-alpha13androidx.compose.material3:material3-window-size-class:1.0.0-alpha13이 출시되었습니다. 버전 1.0.0-alpha13에 포함된 커밋을 확인하세요.

API 변경사항

  • 구성 변경 시 상단 앱 바 위치를 유지하도록 지원합니다. (I10459, b/216160958)

버전 1.0.0-alpha12

2022년 5월 18일

androidx.compose.material3:material3:1.0.0-alpha12androidx.compose.material3:material3-window-size-class:1.0.0-alpha12가 출시되었습니다. 버전 1.0.0-alpha12에 포함된 커밋을 확인하세요.

버그 수정

  • 슬라이더 상위 요소의 너비가 이제 0이 될 수 있습니다. (b/231707291)

버전 1.0.0-alpha11

2022년 5월 11일

androidx.compose.material3:material3:1.0.0-alpha11androidx.compose.material3:material3-window-size-class:1.0.0-alpha11이 출시되었습니다. 버전 1.0.0-alpha11에 포함된 커밋을 확인하세요.

새로운 기능

  • Material 3에 RangeSlider를 추가했습니다. (I18e38)
  • Material 3 AssistChipInputChip 지원을 추가합니다. (I0d25a)
  • Material 3 FilterChipSuggestionChip 지원을 추가합니다. (I9fdf3)

API 변경사항

  • OutlinedTextField의 테두리 획을 그리는 TextFieldDefaults.BorderStroke 컴포저블의 이름이 TextFieldDefaults.BorderBox로 바뀌었습니다. 변경되었습니다. (I5f295)
  • m3 시각적 변경사항을 전환했습니다. (Iab30e)
  • 표준 아이콘 버튼에 색상을 전달하도록 허용합니다. (Ia2445)

버그 수정

  • 내부 패딩이 사용되었는지 확인하기 위하여 material3/Scaffold에 린트 검사를 추가합니다. (I72293, b/226951418)

버전 1.0.0-alpha10

2022년 4월 20일

androidx.compose.material3:material3:1.0.0-alpha10androidx.compose.material3:material3-window-size-class:1.0.0-alpha10이 출시되었습니다. 버전 1.0.0-alpha10에 포함된 커밋을 확인하세요.

새로운 기능

  • material3-window-size-class는 창 크기 클래스를 지원하는 새로운 라이브러리입니다. 크기 조절이 가능한 체계적인 표시 영역 중단점 세트를 통해 크기 조절이 가능한 애플리케이션 레이아웃을 디자인하고 개발 및 테스트할 수 있습니다. calculateWindowSizeClass을 사용하여 창 크기 클래스 인스턴스를 검색할 수 있습니다. 이 클래스는 더 큰 창 크기에 관한 하단 탐색 대신 탐색 레일을 표시하는 등 UI가 표시되는 방식을 결정하는 데 사용할 수 있습니다. 자세한 내용 및 샘플 사용법은 WindowSizeClass의 API 참조 문서를 확인하세요. 창 크기 클래스 정의에 관한 자세한 내용은 다양한 화면 크기 지원에 관한 공개 가이드를 참고하세요.

API 변경사항

  • BottomAppBar의 기본 FAB 고도를 추가하고 FAB를 사용하여 BottomAppBar의 후행 람다를 추가합니다. (I92c47)
  • Material 3 FilledIconButton, FilledTonalIconButton, OutlinedIconButton을 추가합니다. (Ib2bda)
  • 선택적 작업과 닫기 작업의 색상 값을 수락하도록 Material 3 Snackbar API를 업데이트했습니다. (Ibe4b4)
  • PointerInputChange에서 부분 소비(아래쪽 OR 위치)를 지원 중단했습니다. consume()을 사용하여 변경사항을 완전히 사용할 수 있습니다. isConsumed를 사용하여 다른 사용자가 이전에 변경사항을 사용했는지 확인할 수 있습니다.
  • 이제 PointerInputChange::copy()가 항상 얕은 복사본을 만듭니다. 즉, 사본 중 하나가 소비되면 PointerInputChange의 사본이 사용됩니다. 결합되지 않은 PointerInputChange를 만들려면 생성자를 대신 사용하세요. 사용하세요. (Ie6be4, b/225669674)
  • CardColors 인터페이스를 통해 컨테이너 및 콘텐츠 색상을 수신하고 클릭 가능한 카드의 사용 중지 상태를 지원하도록 Card API를 변경했습니다. (I927df)
  • 다른 구성요소와의 일관성을 향상하도록 Material 3 텍스트 필드의 매개변수 backgroundColor의 이름을 containerColor로 변경했습니다. (I6fbd9)

버그 수정

  • 표준 IconButton을 Material 3 사양에 맞게 업데이트합니다. (I09eab)
  • Material 3 스캐폴드의 상단 표시줄 높이를 콘텐츠에 전달된 패딩으로 이동하여 콘텐츠가 상단 앱 바 아래로 렌더링되도록 합니다. PaddingValues가 무시되면 상단 표시줄로 콘텐츠가 가려질 수 있습니다. (I83cbc, b/217776202)

버전 1.0.0-alpha09

2022년 4월 6일

androidx.compose.material3:material3:1.0.0-alpha09가 출시되었습니다. 버전 1.0.0-alpha09에 포함된 커밋을 확인하세요.

새로운 기능

  • Material 3 Switch API를 추가했습니다. (I2c3ad)

API 변경사항

  • 텍스트 필드가 있는 드롭다운 메뉴('노출된 드롭다운 메뉴' 또는 '콤보 상자') 지원을 추가했습니다. (I1b832)
  • MaterialTheme 및 Shape 하위 시스템에 도형 매개변수를 추가했습니다. (I37426)
  • 각 상태 사이에 애니메이션을 사용하여 FAB를 펼치거나 접을지 제어할 수 있도록 ExtendedFloatingActionButton에 확장 매개변수를 추가했습니다. 아이콘이 없는 ExtendedFAB의 후행 텍스트가 있는 확장 FAB용 확장 FAB 오버로드를 추가했습니다. (Iba7f1)

버전 1.0.0-alpha08

2022년 3월 23일

androidx.compose.material3:material3:1.0.0-alpha08이 출시되었습니다. 버전 1.0.0-alpha08에 포함된 커밋을 확인하세요.

새로운 기능

API 변경사항

  • 메뉴의 기본 구분선을 추가합니다. (I01374)
  • surfaceTint 색상 매개변수를 ColorScheme 클래스에 추가했습니다. (I2f558)

버그 수정

  • Material3 버튼에서 수정하여 MaterialTheme에서 기본 텍스트 스타일 값을 읽습니다. (Ie62fc)

버전 1.0.0-alpha07

2022년 3월 9일

androidx.compose.material3:material3:1.0.0-alpha07이 출시되었습니다. 버전 1.0.0-alpha07에 포함된 커밋을 확인하세요.

API 변경사항

  • 클릭 가능한 노출 영역의 오버로드된 함수를 다시 가져오고, 선택 가능하고 전환 가능한 노출 영역을 지원하는 함수를 추가하는 Material 3 Surface API를 업데이트했습니다. (I4bf18)
  • 이제 LazyVerticalGridLazyHorizontalGrid가 안정적입니다. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid 및 모든 관련 API를 .grid 하위 패키지로 이동했습니다. 가져오기를 androidx.compose.foundation.lazy에서 androidx.compose.foundation.lazy.grid로 업데이트하세요(I2d446).
  • WindowInsetsControllerCompat의 뷰에만 의존하는 이전 변경사항을 되돌렸으며 일부 창 플래그를 관리하는 데 필요한 창이 다시 필요합니다. 적절한 창이 사용되도록(예: 뷰가 대화상자에 있는 경우) ViewCompat.getWindowInsetsController를 지원 중단하고 WindowCompat.getInsetsController로 대체했습니다. (I660ae, b/219572936)
  • 교차 축 크기를 정의하는 새 LazyVerticalGrid API를 추가했습니다. (I17723)

버그 수정

  • Surface API의 변경사항을 따르도록 Card API를 업데이트했습니다. (I3c8b9)

버전 1.0.0-alpha06

2022년 2월 23일

androidx.compose.material3:material3:1.0.0-alpha06이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.

API 변경사항

  • 창 내부의 단일 대상을 나타내는 NavigationDrawerItem이 추가되었습니다(Ic396f, b/218286829).
  • PermanentNavigationDrawerDismissibleNavigationDrawer가 실험용 API로 추가되었습니다. 이 API는 대형 화면 기기에 적합한 창입니다. (I5f8ab, b/218286829)
  • Material 3 하단 앱 바 지원을 추가했습니다(Ic432a).
  • NavigationDrawer에서 ModalNavigationDrawer로 이름이 변경되었습니다. (I1807d, b/218286829)
  • Material 3 Slider 클래스 및 토큰을 추가했습니다. (I1ccee)
  • 탭 구현을 추가했습니다. 샘플 사용에 관한 문서를 참고하세요(Ie0146).

버그 수정

  • TalkBack 스크린 리더의 순차적 탐색에서 빈 상단 앱 바 제목이 선택되는 문제가 해결되었습니다. (Id4690)
  • FloatingActionButtonDefaultsIconSize를 추가했습니다. (Ia71cf)
  • 긴 텍스트가 LazyColumn과 함께 추가될 때 AlertDialog 버튼이 숨겨지는 버그를 수정했습니다. (Ib2cc9, b/216663029)

버전 1.0.0-alpha05

2022년 2월 9일

androidx.compose.material3:material3:1.0.0-alpha05가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.

새로운 기능

Material Design 3 구성요소를 추가했습니다.

API 변경사항

  • onClick 콜백을 사용하는 Surface 함수가 지원 중단되었습니다. 클릭 가능한 노출 영역은 InteractionSourceModifier.clickable()로 만들어야 합니다. (I211c6)
  • FAB에 관해 누르고 포커스가 설정된 고도 지원을 추가했습니다. (Ibb584)
  • 다양한 상태에서 모양을 제어할 수 있는 InteractionSource를 받도록 Surface API를 변경했습니다. (Iafbc8)

버그 수정

  • 누락된 3차 색상을 동적 색 구성표에 추가했습니다. (I456c4, b/214588434)

버전 1.0.0-alpha04

2022년 1월 26일

androidx.compose.material3:material3:1.0.0-alpha04가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.

API 변경사항

  • 복잡한 로직 없이 기존 메서드의 오버로드인 메서드에 NonRestartableComposable을 추가했습니다. 이렇게 하면 호출된 내부 함수에서 반복되는 매개변수 전체를 대상으로 하는 컴파일러 생성 메모이제이션 검사(동일)가 줄어듭니다. (I90490)
  • Material 3 구분선을 추가했습니다. (Ica5fc)
  • 실험용 API 주석으로 Checkbox와 RadioButton을 표시합니다. (Ie44bb)
  • Material 3 진행률 표시기 지원을 추가했습니다. (Iff232, b/205023841)

버그 수정

  • 사용 중지된 TextButton's 컨테이너 색상을 투명하게 업데이트합니다. (I6b248, b/213339737)

버전 1.0.0-alpha03

2022년 1월 12일

androidx.compose.material3:material3:1.0.0-alpha03이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.

버그 수정

  • Material 3의 MaterialThemeLocalIndication을 추가했습니다. (I7ce4e)
  • 체크박스에 적용되는 모서리 반지름을 수정했습니다. (I38b03, b/175198975, b/202309440)

종속 항목 업데이트

  • 이제 Kotlin 1.6.10에 종속됩니다.

버전 1.0.0-alpha02

2021년 12월 1일

androidx.compose.material3:material3:1.0.0-alpha02가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

새로운 기능

  • 체크박스 및 라디오 버튼 지원이 추가됩니다.
  • Kotlin 1.6.0과 호환되도록 업데이트했습니다.

API 변경사항

  • Material 3의 스캐폴드에서 창이 삭제됩니다. (I04f51)
  • Material 3 Checkbox 지원이 추가됩니다. (Id5542)
  • Material 3 RadioButton 지원이 추가됩니다. (I20334)

버그 수정

  • IconButton 물결 효과 반경이 40dp에서 20dp로 줄어듭니다. (I68bbe, b/206674345)
  • Text 변경사항의 빠른 문자열 경로가 compose.material에서 포팅됩니다. (I30b03)
  • 하드코딩된 버튼을 항상 사용 설정하도록 수정했습니다. (Iea832, b/205335456)

버전 1.0.0-alpha01

2021년 10월 27일

androidx.compose.material3:material3:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

Material Design 3 테마 설정 및 Material You 동적 색상

Material Design 3 구성요소

자세한 내용은 Compose의 Material 테마 설정 가이드에서 Material Design 3 및 Material You 섹션을 참고하세요.