Wear Compose Material 3

  
Material 3 Expressive 디자인 시스템을 사용하여 다양한 기기 크기와 탐색 제스처를 지원하는 기능을 제공하여 Wear OS 기기용 Jetpack Compose 애플리케이션을 작성합니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2025년 6월 4일 - - 1.5.0-beta03 -

종속 항목 선언

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

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

Groovy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.5.0-beta03"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material3:1.5.0-beta03"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.5.0-beta03"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-beta03")
    
    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.5.0-beta03")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material3:1.5.0-beta03")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.5.0-beta03")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-beta03")

    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

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

의견

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

새로운 문제 제출하기

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

Wear Compose Material3 버전 1.5

버전 1.5.0-beta03

2025년 6월 4일

androidx.wear.compose:compose-*:1.5.0-beta03이 출시되었습니다. 버전 1.5.0-beta03에는 이러한 커밋이 포함되어 있습니다.

API 변경사항

  • 이제 OpenOnPhoneDialog가 TalkBack에서 메시지 텍스트만 알리고 아이콘 시맨틱은 건너뜁니다. icon()에서 iconContentDescriptioncontentDescription 매개변수를 삭제하도록 OpenOnPhoneDialogDefaults가 업데이트되었습니다. 또한 이제 ConfirmationDialogDefaults에는 SuccessIconFailureIcon 컴포저블에 수정자 매개변수가 있습니다. (Id2ae2)

버그 수정

  • SurfaceTransformation 매개변수의 효과를 적용하는 순서를 변경했습니다. 이전에는 Wear Material3 구성요소에 적용된 변환이 배경 페인터, 컨테이너 변환, 콘텐츠 변환으로 이루어졌습니다. 이제 처음 두 개가 반전되고 전달된 수정자를 그 사이에 적용하므로 컨테이너 변환의 영향을 받습니다. 이렇게 하면 변환 매개변수를 사용하여 TLC의 요소에 자리표시자 쉬머 효과를 사용하는 등의 문제가 해결됩니다. (I786cf)
  • 활동 또는 프로세스가 다시 생성될 때 SwipeToReveal의 상태를 복원하는 데 사용하도록 RevealState.Saver가 추가되었습니다. 이제 rememberRevealState 함수가 기본적으로 이 저장소를 사용합니다. (Ie0ecb)
  • SwipeToReveal 기본 및 보조 작업 버튼이 기본적으로 ButtonDefault.Height로 설정되어야 합니다 (더 높은 버튼의 최대 높이를 채우는 버그가 수정됨). (Ibfba1)
  • 오른쪽 스와이프 동작이 실행될 때 상호작용한 마지막 구성요소를 재설정하도록 SwipeToReveal을 변경했습니다. (Ia8450)
  • 스와이프의 끝 위치가 표시 및 표시된 앵커 사이에 있고 표시 앵커에 더 가까울 때 SwipeToRevealRevealing 상태로 정착하도록 변경되었습니다. (If4458)
  • 이제 RTL 레이아웃에서 ButtonGroup의 콘텐츠가 올바르게 반전됩니다. (Ib378d)
  • 이제 AnimatedText에서 RTL 텍스트 방향을 지원합니다. (I4533c)
  • 이제 TransformingLazyColumn가 하단 항목이 삭제될 때 항목 크기를 올바르게 조정합니다. (Idacab)
  • 이제 TransformingLazyColumn가 측정 패스를 한 번만 실행하므로 프레임 시간이 줄어 성능이 개선됩니다. (I501a1)

버전 1.5.0-beta02

2025년 5월 20일

androidx.wear.compose:compose-*:1.5.0-beta02이 출시되었습니다. 버전 1.5.0-beta02에는 이 커밋이 포함되어 있습니다.

버그 수정

  • foundation, material, material3 라이브러리의 기준 프로필이 업데이트되었습니다. (I53f06)
  • 하단 항목이 삭제될 때 항목의 크기가 조절되는 TransformingLazyColumn의 버그가 수정되었습니다. (Idacab)
  • 목록이 목록의 상단 또는 하단에 멈추는 TransformingLazyColumn 버그를 수정했습니다. (I49d00)
  • TalkBack의 OpenOnPhoneDialog는 아이콘 콘텐츠 설명이 아닌 곡선 텍스트를 알려야 합니다. (I4efe8)
  • hasPartiallyRevealedState가 false로 설정된 경우 RevealState.currentValue에서 잘못된 앵커를 보고하는 SwipeToReveal의 버그가 수정되었습니다. (I9c7cf)
  • SwipeToReveal 실행취소 버튼이 이제 기본적으로 ButtonDefaults.Height입니다. (I1f6c8)
  • 스크림 그리기에 캔버스 사용을 제거하여 BasicSwipeToDismissBox 성능이 개선되었습니다. (I68f2c)
  • 업데이트 후 발표된 비율이 값과 일치하지 않는 슬라이더의 접근성 버그를 수정했습니다. (I91146)
  • placeholderShimmer 구현의 버그를 수정했습니다. (Iee39b
  • ScrollProgress 계산을 30% 최적화하여 TransformingLazyColumn 성능이 개선되었습니다. (I4c4cb)

버전 1.5.0-beta01

2025년 5월 7일

androidx.wear.compose:compose-*:1.5.0-beta01이 출시되었습니다. 버전 1.5.0-beta01에는 이 커밋이 포함되어 있습니다.

Wear OS용 Compose 1.5.0-beta01 출시는 이 라이브러리 버전의 기능이 완전하고 API가 잠겨 있음을 나타냅니다 (실험용으로 표시된 경우 제외).

Wear Compose 1.5.0-beta01에는 Material 3 Expressive라는 새로운 UI 디자인 시스템을 지원하는 Wear Compose Material3 라이브러리가 포함되어 있습니다. 앱에서 새로운 시각적 디자인을 수용하고 다음과 같이 새로운 구성요소의 이점을 누리려면 Material에서 Material3로 업그레이드하는 것이 좋습니다.

  • MaterialTheme: 업데이트되고 확장된 색 구성표, 서체, 도형을 사용하여 디자인에 깊이와 다양성을 더하세요.
  • 시계 화면 색상과 일치하도록 앱의 색 구성표를 자동으로 생성하는 동적 색상 테마 설정
  • 새 구성요소가 기본적으로 더 큰 화면 크기에 자동으로 적응
  • 도형 모핑 - IconButton, TextButton, IconToggleButton, TextToggleButton와 같은 원형 버튼 구성요소는 누르거나 선택할 때 애니메이션이 적용되는 변형을 지원합니다.
  • EdgeButton - 화면 하단용으로 설계된 특별한 모양의 새로운 가장자리 버튼입니다.
  • 스캐폴드 - AppScaffoldScreenScaffold를 도입하여 화면 구조를 레이아웃하고 ScrollIndicatorTimeText 애니메이션을 조정합니다.
  • 버튼: 유연한 단일 슬롯 컨테이너와 아이콘 및 라벨이 있는 버튼의 멀티 슬롯 변형을 사용하여 다양한 경기장 모양 버튼을 지원합니다. CheckboxButtonSwitchButton는 전환 버튼이 필요할 때 제공되며 RadioButton는 사용 가능한 선택 버튼입니다. 전환 및 선택 버튼의 '분할' 변형도 제공됩니다.
  • ButtonGroup - 터치 시 모양이 변형되는 행의 표현형 버튼 그룹을 구현합니다.
  • AlertDialog 변형은 확인/취소 버튼 또는 EdgeButton를 지원합니다.
  • ConfirmationDialog를 사용하면 시간 제한이 있는 메시지를 표시할 수 있으며, 성공, 실패, 휴대전화에서 열기 변형에 관한 특수 애니메이션을 지원합니다.
  • 선택 도구 - 자체 선택 도구 화면을 빌드하기 위한 Picker 및 PickerGroup 구성요소와 함께 TimePickerDatePicker 변형이 지원됩니다.
  • ProgressIndicators - 원형 및 선형 진행률 표시기가 지원됩니다 (CircularProgressIndicator에는 세그먼트화된 변형과 불명확한 변형이 있음).
  • 카드 - 제목, 시간, 자막 또는 콘텐츠 슬롯이 있는 카드의 특정 레이아웃을 제공하는 TitleCard를 비롯한 다양한 카드 변형을 사용할 수 있습니다. TitleCard에 이미지 배경을 지정하여 카드의 정보 의미를 강화할 수도 있습니다.
  • 페이저 - HorizontalPagerScaffold, VerticalPagerScaffold, AnimatedPage 구성요소는 HorizontalPageIndicatorVerticalPagerIndicator 애니메이션을 조정합니다. HorizontalPagerVerticalPager가 Wear Compose Foundation 라이브러리에서 출시되었습니다.
  • 자리표시자 - 임시 콘텐츠를 사용할 수 없는 상황에서 구성요소 위에 스켈레톤 도형을 그립니다.
  • 슬라이더 및 스테퍼: 슬라이더와 스테퍼를 사용하면 사용자가 값 범위에서 선택할 수 있습니다. 슬라이더는 더 컴팩트하고 세그먼트할 수 있는 반면 스테퍼는 일반적으로 StepperLevelIndicator와 페어링되는 전체 화면 구성요소입니다.
  • SwipeToReveal - 컴포저블을 오른쪽에서 왼쪽으로 스와이프할 때 컴포저블에 추가 작업을 추가하는 데 사용됩니다.

또한 Wear Compose Foundation 1.5.0-beta01에는 다음과 같은 새로운 구성요소가 포함되어 있습니다.

  • TransformingLazyColumn - 확장 및 모핑 애니메이션을 지원하는 지연된 세로 스크롤 목록
  • 계층적 포커스 그룹: 애플리케이션의 컴포저블에 주석을 달아 컴포지션의 활성 부분을 추적하고 포커스를 조정하는 데 사용됩니다.
  • 페이저 - Compose Foundation 구성요소를 기반으로 빌드된 HorizontalPagerVerticalPager 구성요소로, Wear OS 가이드라인을 준수하고 성능을 개선하기 위해 Wear 전용 개선사항이 적용되어 있습니다.

API 변경사항

  • Hierarchical Focus API를 업데이트했습니다. Modifier.hierarchicalFocus의 이름을 Modifier.hierarchicalFocusGroup로 바꾸고 콜백 매개변수를 삭제했습니다. FocusRequester 매개변수를 사용한 Modifier.hierarchicalFocusRequester의 오버로드를 삭제했습니다. 구성요소가 활성 화면을 알리고 확인할 수 있도록 새 CompositionLocal LocalScreenIsActive를 만들었습니다. (I5ff7c).
  • Wear Compose Material 및 Wear Compose Material3의 SwipeToReveal API를 위해 Wear Compose Foundation의 SwipeToReveal를 지원 중단했습니다. API를 계속 사용하려면 Wear Foundation SwipeToReveal 가져오기를 Wear Compose Material/ Wear Compose Material3 가져오기로 대체하세요. (Ia147d).
  • Foundation에 대한 Wear Compose Material3 SwipeToReveal 종속 항목이 material3 패키지로 이동했습니다(예: RevealValue, RevealDirection, RevealActionType, RevealState, rememberRevealState). 개발자는 이러한 클래스와 함수의 가져오기를 androidx.wear.compose.foundation에서 androidx.wear.compose.material3로 변경해야 합니다. (I640e6).
  • Wear Compose Material3 SwipeToReveal API를 다음과 같이 업데이트했습니다. SwipeToReveal 컴포저블에 primaryAction, onFullSwipe, secondaryAction, undoPrimaryAction, undoSecondaryAction, hasPartiallyRevealedState 매개변수를 추가했습니다. RevealState에서 positionalThresholdanimationSpec를 맞춤설정하는 기능을 삭제했습니다. RevealState에서 lastActionType, revealThreshold, 너비를 삭제했습니다. RevealState 생성자를 변경하여 앵커 대신 RevealDirection을 허용하도록 했습니다. createRevealAnchors, 앵커, bidirectionalAnchors 함수를 삭제했습니다. SwipeToRevealScope 함수 primaryAction, secondaryAction, undoPrimaryAction, undoSecondaryAction의 이름을 PrimaryActionButton, SecondaryActionButton, UndoActionButton로 바꾸고 컴포저블 함수로 만들었습니다. RevealActionType를 내부로 표시했습니다. (I885d0).
  • 다음과 같이 SwipeToReveal API를 추가로 업데이트했습니다. onFullSwipe의 이름을 onSwipePrimaryAction로 바꾸고 hasPartiallyRevealedState 매개변수의 사용을 나타내기 위해 SwipeToRevealNonAnchoredSample의 이름을 바꾸고 기본값이 Button의 기본 높이이고 더 큰 높이는 수정자를 사용하여 설정할 수 있으므로 actionButtonHeight를 삭제하고 SwipeToRevealDefaults에서 SmallActionButtonHeight를 삭제하고 RevealValueRevealDirection 생성자의 값 매개변수를 비공개로 설정했습니다. (I465ce).

버그 수정

  • TransformingLazyColumn 항목이 삭제된 후 EdgeButton가 제자리로 애니메이션되도록 ScreenScaffoldEdgeButton 처리를 수정했습니다. (I6d366).
  • Compose 라이브러리의 Wear Compose 종속 항목을 버전 1.8.0으로 업데이트했습니다. (I2ef3f).
  • 더 이상 일시적으로 회귀하지 않도록 불확정 CircularProgressIndicator의 모션을 업데이트했습니다. (Ieddb1).
  • 뒤로 스와이프한 후 포커스가 올바르게 전환되지 않아 로터리 입력이 실패하는 SwipeDismissableNavHost 버그를 수정했습니다. 이 버그는 뒤로 탐색 예측을 사용하는 API 36 이상에서 발생했습니다. (Ieddb1).
  • Hierarchical Focus API (Idf2ff) 문서를 수정했습니다.
  • containerPainterdisabledContainerPaintercontainerColordisabledContainerColor를 재정의하는 방법을 설명하도록 버튼 및 카드 문서를 업데이트했습니다. (I4a453)
  • 이전 출시에서 BroadcastReceiver를 작업자 스레드로 이동하는 TimeText 변경사항을 되돌렸습니다. 탐색 중에 자체 스레딩을 관리하는 앱에 문제가 발생했기 때문입니다. (I34d02).
  • 불필요한 remember 호출을 삭제하고 대신 Picker에서 rememberUpdatedState를 사용하여 최신 contentDescription 람다 함수를 기억하도록 Picker 샘플을 업데이트했습니다. (Icb5b1).
  • 글꼴 변경으로 더 이상 잘리지 않도록 TimePickerDatePicker의 텍스트 스타일을 업데이트했습니다. (I26194).
  • 이제 ListHeaderListSubHeader가 텍스트 정렬을 각각 가운데 정렬 및 시작 정렬로 기본 설정합니다. (I78339).
  • 맞춤 접근성 작업을 알리도록 Foundation 및 Material 스와이프 투 리벨 샘플과 데모를 업데이트했습니다. 맞춤 작업은 SwipeToReveal 컴포저블 자체가 아닌 콘텐츠의 시맨틱으로 추가해야 합니다. (Ie92a3).
  • 크기에 따라 EdgeButton 콘텐츠에 설정된 기본 MaxLines를 업데이트했습니다. 이제 초소형의 경우 1, 소형 및 중형의 경우 2, 대형의 경우 3입니다. (Ie35f6)
  • 성능을 개선하기 위해 관찰자가 한 번만 등록되도록 LocalReduceMotion를 간소화했습니다. (Ib1979).
  • 성능을 개선하기 위해 ScrollIndicator에서 다시 그리기 수를 최소화했습니다. (Ia7a67).
  • EdgeButton이 전체 높이를 달성하면 목록의 상단에 표시되는 항목의 크기가 올바르게 조정되지 않는 TransformingLazyColumn의 버그를 수정했습니다. (I30580).

Wear Compose Material3 버전 1.0

버전 1.0.0-alpha37

2025년 4월 23일

androidx.wear.compose:compose-material3:1.0.0-alpha37이 출시되었습니다. 버전 1.0.0-alpha37에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • 공개 API 노출 영역에서 scrollTransform를 삭제했습니다. 동일한 기능을 사용해야 하는 경우 transformedHeightgraphicsLayer 수정자를 조합하여 사용하세요. (Ie181d)
  • ImageButtonImageCard 컴포저블을 각각 ButtonCard/TitleCard 오버로드로 대체했습니다. imageButtonColors의 이름이 buttonWithContainerPainterColors으로, imageCardColors의 이름이 cardWithContainerPainterColors으로 변경되었습니다. 공개 ButtonDefaults.scrimBrushCardDefaults.scrimBrush를 추가했습니다. 버튼 imageBackgroundGradientStartColorimageBackgroundGradientEndColor의 이름을 scrimGradientStartColorscrimGradientEndColor로 변경했습니다. CardDefaults.ImageContentPadding의 이름을 CardDefaults.CardWithContainerPainterContentPadding로 바꿨습니다. (I7b8b6)
  • 이제 PickerPickerGroup는 불필요한 리컴포지션을 방지하기 위해 contentDescription를 람다로 사용합니다. (I002dd)

버그 수정

  • 너비가 높이와 같지 않으면 애니메이션 중에 불완전한 CircularProgressIndicator가 흔들리는 문제를 수정했습니다. (I76bfe)
  • 잘못된 크기에서 가장자리 버튼 레이아웃 문제가 수정되었습니다. 이제 높이가 NaN인 경우 가장자리 버튼의 레이아웃이 업데이트되지 않습니다. (I32b93)
  • 기본 '휴대전화 확인' 텍스트가 가장 큰 글꼴 크기로 잘리지 않도록 OpenOnPhoneDialog의 최대 스윕 각도를 늘렸습니다. (I90af9)

버전 1.0.0-alpha36

2025년 4월 9일

androidx.wear.compose:compose-material3:1.0.0-alpha36이 출시되었습니다. 버전 1.0.0-alpha36에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • ButtonDefaults.imageBackgroundButtonColorsImageButton, ButtonDefaults.imageButtonColors, ButtonDefaults.containerPainter, ButtonDefaults.disabledContainerPainter로 바꿨습니다. 카드에도 유사한 변경사항이 적용됩니다. ButtonColorsCardColors에서 화가가 삭제됩니다. (I8c6a1)
  • API를 간소화하기 위해 자리표시자를 업데이트했습니다. 이제 구성요소 수준에서 쉬머 효과를 적용하는 Modifier.placeholderShimmer와 로드되지 않은 콘텐츠 위에 마스크를 적용하는 Modifier.placeholder라는 두 가지 수정자를 제공합니다. (Iaee7a)

버그 수정

  • 오버스크롤을 ScrollIndicator에 통합했습니다. (Icfb7f)
  • Material3 대화상자를 실행할 때 빈 배경 및 누락된 대화상자를 해결합니다. (Ice597)
  • 텍스트가 여러 줄에 걸쳐 있을 때 FadingExpandingLabel에서 발생하는 문제를 수정했습니다. (I04eb7)
  • 버튼의 기본 라벨과 보조 라벨 간의 패딩을 업데이트했습니다. (I99b7b)
  • ArcLarge20sp에서 18sp로 줄었고 ArcLargeArcSmall의 문자 간격이 업데이트되었습니다. 이제 ConfirmationDialog/OpenOnPhoneDialog18sp로 재정의하는 대신 기본 ArcLarge를 사용합니다. (Id39a8)

종속 항목 업데이트

  • 이제 이 라이브러리는 Kotlin 2.0 언어 수준을 타겟팅하며 KGP 2.0.0 이상이 필요합니다. (Idb6b5)

버전 1.0.0-alpha35

2025년 3월 26일

androidx.wear.compose:compose-material3:1.0.0-alpha35이 출시되었습니다. 버전 1.0.0-alpha35에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • AlertDialog 이제 아이콘이 제공되면 상단 패딩이 기본적으로 줄어듭니다. 이렇게 하면 사용 가능한 화면 크기를 최대한 활용할 수 있습니다. (Ief06c)
  • PagerScaffoldDefaults.FadeOutAnimation에서 PagerScaffoldDefaults.FadeOutAnimationSpec로 이름을 바꿨습니다. AnimatedPage의 페이지 매개변수 이름이 pageIndex로 변경되었습니다. (I701f2)
  • TransformingLazyColumnSurfaceTransformation - applyTransformation 이름을 업데이트하여 applyContainerTransformationapplyContentTransformation로 분할하고 createBackgroundPainter의 이름을 createContainerPainter로 바꿨습니다. TransformationSpecResponsiveTransformationSpec의 이름 지정을 추가로 업데이트했습니다. (I1c534)
  • AppScaffold backgroundColor의 이름이 containerColor로 변경되었습니다. (I4e63f)

버그 수정

  • FadingExpandingLabel에서 텍스트가 항상 올바르게 확장되지 않는 문제를 수정했습니다. (I0e773)
  • ArcLarge가 20sp에서 18sp로 줄었고 ArcLargeArcSmall의 문자 간격이 업데이트되었습니다. 이제 ConfirmationDialog/OpenOnPhoneDialog에서 ArcLarge를 18sp로 재정의하는 대신 기본 ArcLarge를 사용합니다. (Id39a8)
  • 페이드 아웃 및 페이드 인 애니메이션이 하나의 스프링 애니메이션으로 작동하도록 DatePickerTimePicker 기반의 제목 애니메이션을 업데이트했습니다. (I68963)
  • AnimatedPage 컴포저블에서 currentPageOffsetFraction 읽기를 방지하여 PagerScaffold를 최적화했습니다. (I433ef)
  • 모든 유형 눈금자가 기본적으로 비례 숫자를 갖도록 업데이트되었습니다. 이는 가장 빈번한 사용 사례로 간주되며 표 형식으로 기본 설정하면 특정 숫자 쌍 간에 너무 많은 간격이 생기기 때문입니다. TimePickerDatePicker는 표 형식 숫자에 계속 FontFeatureSetting=tnum를 적용합니다. (I88929)
  • TimePickerDatePicker의 초기 RSB 입력 포커스를 수정했습니다. (I1c773)
  • OpenOnPhoneDialog의 기본 텍스트를 '휴대전화 확인'으로 업데이트했습니다. (I00a3f)
  • 가중치 600이 굵은 체로 처리되는 문제를 해결하기 위해 ArcLargeArcMedium의 가중치를 600에서 599로 업데이트했습니다. (I2a51d)
  • 콘텐츠와 작업 버튼 사이의 SwipeToReveal 패딩과 작업 버튼의 아이콘과 텍스트 사이의 패딩을 업데이트합니다. (Ic46cb)

버전 1.0.0-alpha34

2025년 3월 12일

androidx.wear.compose:compose-material3:1.0.0-alpha34이 출시되었습니다. 버전 1.0.0-alpha34에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • PagerScaffold는 더 이상 Pager 구성요소를 내보내지 않습니다. 대신 content 컴포저블을 통해 제공해야 합니다. 이제 AnimatedPagesnapWithSpringFlingBehaviour가 공개되어 Wear Foundation Pager와 함께 사용하여 이전 M3 PagerScaffold 동작을 실행할 수 있습니다. (업데이트된 샘플 참고) (Ia4724)
  • PagerState를 업데이트하여 Compose Foundation PagerState를 기본 클래스로 삭제하고 currentPage, currentPageOffsetFraction, pageCount 속성을 추가했습니다. GestureInclusion 인터페이스를 업데이트하여 메서드 이름을 ignoreGestureStart로 변경했습니다. (I4ae07)
  • 이제 LevelIndicator 스윕 각도 매개변수가 FloatRange(0, 360)로 주석 처리됩니다. (I7e636)
  • 곡선 시맨틱을 사용 중지할 수 있는 수단을 제공하기 위해 CurvedModifier.clearAndSetSemantics를 추가했습니다. CurvedText는 계속해서 콘텐츠 설명을 텍스트로 기본 설정하지만 timeTextCurvedTexttimeTextSeparator는 이제 콘텐츠를 공지하지 않습니다. (I4b568)
  • AppScaffold에 배경 및 기본 콘텐츠 색상 매개변수를 추가했습니다. (I56652)
  • HorizontalPager의 스와이프 동작 기본 처리가 PagerDefaults.gestureInclusion로 이름이 변경되었습니다. 이제 기본 동작은 첫 번째 페이지의 왼쪽 가장자리에서 시작하는 스와이프 동작만 무시하며, TalkBack이 사용 중지된 경우에만 무시합니다. 그 밖의 경우에는 기본 동작이 스와이프 동작을 페이저에서 무시하지 않으므로 스와이프하여 닫기 핸들러에서 사용할 수 없습니다. (Iee486)
  • 버튼, 카드, 목록 헤더 구성요소에 SurfaceTransformation 매개변수를 추가하여 TransformingLazyColumn와 같이 위치에 따라 항목 모양을 변경하는 컨테이너에 사용될 때 서로 다른 배경 및 콘텐츠 변환을 적용할 수 있도록 했습니다. (Iabe3f)
  • 값이 인라인되지 않도록 Wear Compose Material3 API의 'public const val' 속성을 'public val'로 업데이트했습니다. (Ib0f32)
  • SwipeToReveal에 가장자리 스와이프 영역 지원을 추가했습니다. 이제 Foundation SwipeToReveal의 기본 동작은 동작이 가장자리에서 시작될 때 스와이프를 허용하지 않는 것입니다. 이제 Material3 SwipeToReveal’의 기본 동작은 SwipeDirection가 단일 방향으로 설정된 경우 동작이 가장자리에서 시작될 때 스와이프를 허용하지 않는 것입니다. (I32ef0)
  • 애니메이션을 사용하여 텍스트를 줄별로 페이드 인할 수 있는 FadingExpandingLabel 컴포저블을 추가했습니다. (Ic60fa)
  • 이제 TransformingLazyColumn가 첫 번째 및 마지막 항목을 중앙에 배치하는 대신 기본적으로 빈 contentPadding를 사용합니다. (I77ab7)
  • Wear Compose Material3 라이브러리에서 SwipeToRevealrememberRevealState를 삭제했습니다. (I8c0e0)

버그 수정

  • Wear Compose 라이브러리가 Kotlin 2.0 컴파일러로 업데이트되었습니다. (I2de79)
  • Material3에서 원형이 아닌 ScrollIndicatorPageIndicator 지원이 삭제되었습니다. 정사각형 화면 지원도 더 이상 Wear OS 요구사항에 포함되지 않습니다. 자세한 내용은 시작 가이드를 참고하세요. (I9a852)
  • ConfirmationDialogDefaultsOpenOnPhoneDialogDefaults에 사용된 CurvedTextStyle가 크기 18sp 및 문자 간격 1.8spArcLarge 서체를 사용하도록 업데이트되었습니다. (Ic9ced)
  • Card, ListHeader, RadioButton, CheckboxButton, SwitchButton가 더 이상 기본적으로 콘텐츠의 높이를 제한하지 않습니다. 필요한 경우 Modifier.height(IntrinsicSize.Min)를 사용하여 이전 동작을 복원합니다. (I80bb8)
  • OnBackground (흰색)을 사용하면 제목과 같은 화면의 다른 콘텐츠와 경쟁할 때 시각적 가중치가 너무 커지므로 더 많은 회색조를 포함하도록 기본 TimeTextScrollIndicator 색상을 업데이트했습니다. (I8b36f)
  • 스캐폴드 구성요소에서 TimeTextScrollIndicator 애니메이션의 제한 시간을 2초로 줄였습니다. (I52021)
  • 대화상자의 배경 크기가 닫기 스와이프와 동기화되도록 대화상자의 모션을 업데이트했습니다. (I925a9)
  • edgeSwipeToDismiss 수정자를 사용하여 M3 SwipeToReveal의 데모를 추가합니다. (I02b07)
  • 사용자가 날짜/시간을 설정하기 위해 스크롤하라는 알림을 받도록 TalkBack의 DatePickerTimePicker에 제목이 추가되었습니다. (Id738d)
  • 이제 AnimatedText가 모션 감소 설정을 따릅니다. (Ib6578)
  • 디스플레이 대화상자 콘텐츠에 AppScaffold를 사용하도록 최적화하여 여러 대화상자를 서로 겹쳐 표시할 수 있도록 개선했습니다. (I1209c)

버전 1.0.0-alpha33

2025년 2월 26일

androidx.wear.compose:compose-material3:1.0.0-alpha33이 출시되었습니다. 버전 1.0.0-alpha33에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • SwipeToRevealScopeprimaryActionsecondaryAction에서 라벨 매개변수가 삭제되었습니다. 맞춤 작업 시맨틱은 개발자가 SwipeToReveal 구성요소의 콘텐츠에 직접 추가해야 합니다. (Ia67f3)
  • IconToggleButtonDefaultsTextToggleButtonDefaults의 크기, 텍스트 스타일, 색상 함수에서 'Button' 접두사를 삭제했습니다. (I5471d)
  • 실험용 LocalMinimumInteractiveComponentEnforcement를 삭제했습니다. (I4ad8a)
  • PickerGroupScope DSL을 컴포저블로 대체했습니다. 따라서 PickerGroupScope에서 pickerGroupItem 메서드를 삭제하고 대신 PickerGroup에 선택 도구를 추가하는 데 사용해야 하는 @Composable PickerGroupItem를 추가했습니다. 또한 PickerGroup 'content' 매개변수의 유형을 @Composable PickerGroupScope.() -> Unit로 업데이트했습니다. (Ic6aec)
  • 소수점 값에 관한 LevelIndicator 오버로드를 추가하고 범위 매개변수를 포함하는 오버로드 (스테퍼 구성요소와 함께 사용하기에 적합)에 스테퍼 접두사를 추가했습니다. (If4234)
  • API에 TransformingLazyColumnTransformationSpec를 추가했습니다. 이를 통해 TLC를 스크롤할 때 항목에 발생하는 정확한 변환을 정의할 수 있습니다. (I21856)
  • compose/material3 클래스와 일치하도록 IconButtonShapes, IconToggleButtonShapes, TextButtonShapes, TextToggleButtonShapes를 업데이트했습니다. (I5a081)
  • ScalingLazyColumn, TransformingLazyColumn, ScreenScaffoldoverscrollEffect 매개변수를 추가했습니다. (I0cee8)
  • rememberRevealState에서 swipeDirection 매개변수의 이름을 revealDirection로 바꾸었습니다. (I7472f)
  • 이제 Wear Pager는 Compose PagerScope를 사용하는 대신 자체 PagerScope를 보유합니다. (I9195b)
  • LinearProgressIndicatorContent 컴포저블이 삭제되었습니다. 값 변경사항이 기본적으로 애니메이션 처리되도록 LinearProgressIndicator를 직접 사용하세요. (I2c4ad)
  • CircularProgressIndicatorStatic 컴포저블을 삭제하고 동일한 기능을 가진 공개 DrawScope 함수 drawCircularProgressIndicator를 추가했습니다. 변경사항이 기본적으로 애니메이션 처리되도록 CircularProgressIndicator를 직접 사용하되 맞춤 애니메이션이 필요한 경우 drawCircularProgressIndicator에서 자체 컴포저블을 빌드하세요. (Ie762f)
  • targetProgress 매개변수를 위로 이동하도록 DrawScope.drawCircularProgressIndicator의 매개변수를 재정렬했습니다. (I8ab92)
  • 명확성과 다른 대화상자와의 일관성을 개선하기 위해 OpenOnPhoneDialog API가 업데이트되었습니다. show 매개변수의 이름이 visible로 변경되었으며 이제 curvedText는 기본값이 아닌 호출자가 제공합니다. (Idec2d)
  • openOnPhoneCurvedText의 이름을 openOnPhoneDialogCurvedText로 바꾸었습니다. (I65bdd)
  • ScrollIndicator에 맞춤 색상을 제공하는 ScrollIndicatorColors를 추가했습니다. (I9eb8c)
  • TimeText 뒤의 배경을 그리는 데 사용되는 색상을 구성할 수 있습니다. (I9f5d9)
  • ArcLarge, ArcMedium, ArcSmall 서체를 CurvedTextStyle로 업데이트했습니다. (Iffc41)
  • ScreenScaffoldDefaults.contentPaddingWithEdgeButton를 삭제했습니다. (Ia923e)
  • 안전 알림, 실패한 대화상자 오버레이 또는 중지 버튼과 같은 높은 우선순위 오류 또는 긴급 작업을 위해 ColorSchemeerrorDim를 추가했습니다. (I70998)

버그 수정

  • wear.compose.material3androidx.core.core 버전 1.15.0에 고정했습니다. (I132e9)
  • AppScaffold를 사용하여 다른 화면 콘텐츠 위에 대화상자를 레이어링하여 대화상자의 성능을 개선했습니다. (I1b9a4)
  • EdgeButton의 내부 세로 패딩을 줄였습니다. (I1a5bb)
  • 슬라이더 버튼에 버튼 시맨틱을 추가했습니다. (I80cc6)

버전 1.0.0-alpha32

2025년 1월 29일

androidx.wear.compose:compose-material3:1.0.0-alpha32이 출시되었습니다. 버전 1.0.0-alpha32에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • CurvedTextStyle에서는 문자 간격을 시계 방향 문자 간격과 시계 반대 방향 문자 간격으로 분할했습니다. 시계 방향의 글자는 기준선에서 펼쳐지는 반면, 시계 반대 방향의 글자는 기준선에서 모이기 때문에 (따라서 더 큰 문자 간격이 필요함) 이 작업이 필요합니다. (I4b848)
  • Material3 라이브러리 전반의 일관성을 개선하기 위해 IconButtonShapes, IconToggleButtonShapes, TextButtonShapes, TextToggleButtonShapes가 업데이트되었습니다. 또한 이 변경사항으로 인해 할당 수를 줄이기 위한 도형 캐싱이 도입되었습니다. (I049fc)
  • IconToggleButtonTextToggleButtonvariantAnimatedShape 메서드에서 pressedShapeCornerSizeFraction 매개변수를 삭제했습니다. (I58a65)
  • 원형이 아닌 화면과 호환되지 않는 곡선 텍스트 렌더링 (TimeText 포함)이 개선됩니다. 원형이 아닌 화면 지원도 더 이상 Wear OS 요구사항에 포함되지 않습니다. 자세한 내용은 시작 가이드를 참고하세요. (I1cc1c)
  • DSL 기반 ButtonGroupItemModifier.weight, Modifier.minWidth, Modifier.enlargeOnPress로 대체하여 ButtonGroupButtonGroupScope를 업데이트했습니다. (I16c3c)
  • ButtonGroup API에서 새로운 수정자 기반 ButtonGroupScope를 업데이트했습니다. 이제 enlargeOnPressanimateWidth라고 하며, 변형할 필요가 없으므로 MutableInteractionSource 대신 InteractionSource를 사용합니다. 또한 ButtonGroup의 버튼 기본 최소 너비인 공개 상수 ButtonGroupDefaults.DefaultMinWidth를 추가했습니다. (Ie27ec)
  • ListHeaderDefaults.contentColor가 컴포저블 속성이므로 소문자로 시작하도록 업데이트했습니다. (I125a5)
  • 적절한 기본값이 있는 콘텐츠 설명 매개변수를 SliderDefaults.DecreaseIconSliderDefaults.IncreaseIcon에 추가했습니다. (I2e1a7)
  • PickerPickerGroupspacing 매개변수 이름을 verticalSpacing로 변경했습니다. (Ib75cc)
  • ConfirmationDialog 호출자가 더 많은 맥락을 가진 문자열을 제공할 것으로 예상되므로 ConfirmationDialogDefaults.successTextfailureText가 삭제되었습니다. 또한 confirmationCurvedText의 이름을 confirmationDialogCurvedText로 바꿨습니다. 마지막으로 대화상자에 대한 다른 최근 업데이트와 일관성을 유지하기 위해 대화상자 show 매개변수의 이름을 visible로 바꿨습니다. (I10074)
  • IconButton에서 disabledImageOpacity의 이름을 DisabledImageOpacity로 바꿨습니다. (I5f94a)

버그 수정

  • 각 프레임에서 올바른 크기가 사용되도록 EdgeButton 애니메이션의 버그를 수정했습니다. (Id3b58)
  • animateContentSizeButton에서 작동하지 않는 문제를 수정했습니다. (Ib18a0)
  • 제목 대형 글꼴 크기를 글꼴 크기 18dp로 변경했습니다. (Ic9d52)
  • AlertDialog 간격 및 아이콘 크기를 업데이트했습니다. (Iac28c)
  • 대형 화면 브레이크포인트의 불일치를 수정했습니다 (225dp 이상의 화면이 대형 화면임). (I36474)
  • 버튼 배치의 사소한 버그를 수정했습니다. (I952c2)

버전 1.0.0-alpha31

2025년 1월 15일

androidx.wear.compose:compose-material3:1.0.0-alpha31이 출시되었습니다. 버전 1.0.0-alpha31에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • 모든 Wear Compose 라이브러리를 '명시적 API' 모드로 업데이트했습니다. (Iebf9f)
  • EdgeButton가 포함된 화면에서 콘텐츠 패딩을 더 쉽게 지정할 수 있도록 ScreenScaffoldEdgeButton API가 업데이트되었습니다. 새 API에서 EdgeButtonsizeEdgeButton에만 전달되며 ScreenScaffoldEdgeButton와 목록 콘텐츠 간의 간격을 위한 edgeButtonSpacing 매개변수를 사용합니다. (I424fd)
  • DatePicker에서 매개변수 minDate의 이름을 maxDate로, minValidDate의 이름을 maxValidDate로 바꿨습니다. DatePickerColors에서 매개변수 selectedPickerContentColor의 이름을 activePickerContentColor로, unselectedPickerContentColor의 이름을 inactivePickerContentColor로 변경했습니다. (Iba17b)
  • ArcProgressIndicator 기본값을 strokeWidth=6dp로 업데이트하고 화면 높이의 권장 diameter = 81.24%를 업데이트했습니다. (I6f248)
  • 대화상자로서의 사용을 반영하도록 Confirmation API를 업데이트했습니다. 이제 컴포저블의 이름이 ConfirmationDialog로 변경되었으며 색상 및 기본값 클래스의 이름 지정이 업데이트되었습니다. 또한 다른 Compose 애니메이션 API와의 호환성을 위해 show 매개변수의 이름을 visible로 바꿨습니다. 또한 개발자가 인트로/아우트로 대화상자 애니메이션을 맞춤설정해야 하는 상황에 ConfirmationDialogContent, SuccessConfirmationDialogContent, FailureConfirmationDialogContent를 사용할 수 있도록 했습니다. (Iaeb33)
  • 이제 맞춤 애니메이션으로 CircularProgressIndicator를 빌드하는 데 사용할 수 있도록 CircularProgressIndicatorContentCircularProgressIndicatorStatic (CircularProgressIndicator의 애니메이션이 적용되지 않은 변형)으로 업데이트했습니다. (I1346f)
  • ArcProgressIndicator의 매개변수 순서를 수정하여 수정자 매개변수를 먼저 배치했습니다. (I4656a)
  • 작업 라벨 (보조 작업 제외)의 텍스트 슬롯 매개변수를 수신하고 실행취소 작업에서 라벨 매개변수를 삭제하도록 SwipeToReveal API를 개선했습니다. (I5b3db)

버그 수정

  • Button, Card, IconButton, TextButton에서 LongPress 햅틱이 두 번 이상 트리거되는 버그를 수정했습니다. (Ia8b0f)
  • AlertDialog의 UX 변경사항 - 대형 화면에서 확인 및 닫기 버튼이 더 작아졌습니다. 확인 및 닫기 버튼 아래의 간격도 넓어졌습니다. (I4f066)
  • SwipeToReveal 구성요소의 작업 버튼 라벨의 애니메이션 사양을 변경했습니다. (Ib87fb)
  • 텍스트가 표시될 때 동시에 컨테이너를 펼치도록 SwipeToReveal를 변경했습니다. (I44cf8)
  • 스와이프가 기본 작업이 커밋되는 임곗값을 초과할 때 햅틱 피드백을 실행하도록 SwipeToReveal를 개선했습니다. (I23efe)
  • 기본 작업 및 실행취소 작업의 경우 기본적으로 텍스트 오버플로에 생략 부호를 표시하도록 SwipeToReveal를 업데이트했습니다. (I71f5a)
  • ButtonGroup 애니메이션에서 지터를 일으키는 문제를 수정했습니다. (I63f8f)
  • AnimatedText에 텍스트 의미 체계를 추가했습니다. (I6063c)
  • 이제 대화상자가 컴포지션에서 삭제되면 대화상자가 배경 크기 조정을 재설정합니다. 이 수정사항이 없으면 시작 화면이 축소된 상태로 남아 있을 수 있습니다. (Id24ac)
  • 스테퍼 구성요소의 버튼에 도형 모핑 애니메이션을 추가했습니다. (Id6ed3)

버전 1.0.0-alpha30

2024년 12월 11일

androidx.wear.compose:compose-material3:1.0.0-alpha30이 출시되었습니다. 버전 1.0.0-alpha30에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • TransformingLazyColumnscrollTransform 수정자가 리팩터링되어 API 변경이 트리거되었습니다. (I0c6dc)
  • IconToggleButtonShapesTextToggleButtonShapes를 업데이트하여 두 가지 다른 도형 매개변수 uncheckedPressedcheckedPressed를 갖도록 했습니다. (I85dbd)
  • 이제 minDate 또는 maxDate를 사용할 때 잘못된 월/일 옵션이 새 invalidPickerContentColor와 함께 DatePicker에 표시됩니다. (If4541)
  • increaseIcondecreaseIcon 슬롯을 제공하도록 Stepper API가 업데이트되었습니다. 이러한 슬롯의 콘텐츠는 평소와 같이 아이콘 컴포저블에서 빌드할 수 있습니다. (Id35da)
  • 선택적 defaultColorScheme 매개변수를 삭제하고 null 허용 ColorScheme를 반환하도록 dynamicColorScheme를 업데이트했습니다. 즉, 호출자는 동적 색상 구성표가 제공되지 않을 때 대체 사례를 명시적으로 처리해야 합니다. (I6d62e)
  • CompactButton와 함께 사용할 수 있도록 ButtonDefaults의 아이콘 크기를 업데이트했습니다. 아이콘만 포함된 CompactButtonButtonDefaults.SmallIconSize = 24.dp를 사용해야 하지만 아이콘과 텍스트가 모두 포함된 CompactButtonButtonDefaults.ExtraSmallIconSize = 20.dp를 사용해야 합니다. CompactButton는 최대 너비를 채우는 대신 콘텐츠를 래핑하는 것이 좋으며 이를 보여주기 위해 샘플이 업데이트되었습니다. (I0582c)
  • 4가지 EdgeButtonSizes에 권장 아이콘 크기가 포함된 EdgeButtonDefaults를 추가했습니다. 또한 상단 패딩보다 하단 패딩이 약간 더 커지도록 EdgeButton 레이아웃을 업데이트하여 아이콘과 텍스트 콘텐츠의 모양을 개선했습니다. (Id772a)
  • LinearProgressIndicator에 모션을 추가하고 애니메이션 없이 시각적 콘텐츠를 제공하는 LinearProgressIndicatorContent를 노출했습니다. (Idee99)
  • 애니메이션 없이 CircularProgressIndicator의 시각적 콘텐츠를 표시하는 새로운 CircularProgressIndicatorContent 컴포저블을 추가했습니다. (Ie33d4)
  • TransformingLazyColumn는 이제 Card, Button, ListHeaderTransformingLazyColumn 내에 배치될 때 자동으로 모핑하는 데 사용하는 컴포지션 로컬 LocalTransformingLazyColumnItemScope를 새로 제공합니다. 호출자는 새 TransformExclusion 래퍼를 사용하여 자동 모핑을 사용 중지할 수 있습니다. (I1652f)
  • ButtonDefaults.shape의 유형을 RoundedCornerShape로 업데이트했습니다. (Iccdf2)

버그 수정

  • TimeText의 배경에서 기존 알파를 따르는 버그를 수정했습니다. (I1eb60)
  • 크기 조절 작업 중에 글꼴 글리프가 픽셀 경계로 스냅되어 텍스트가 흔들리는 것을 방지하기 위해 서체에서 기본적으로 TextMotionAnimated로 설정했습니다. (I626fa)
  • 가시성을 개선하기 위해 너비와 간격 크기를 늘려 ScrollIndicator의 모양을 업데이트했습니다. (Ied7cb)
  • 항목을 추가/삭제/이동할 때 Modifier.scrollTransform에서 발생하는 버그가 수정되었습니다. (I6830f)
  • 짧은 탭 시 원형 버튼 애니메이션 문제가 수정되었습니다. 이전에는 최소 애니메이션 시간이 항상 지켜지지 않았습니다. (I757a7)
  • LevelIndicator의 스윕 각도가 20% (72도)로 업데이트되었습니다. (Idde5c)
  • ScalingLazyColumnAutoCenteringParams와 함께 사용될 때 ScrollIndicator의 위치가 수정되었습니다. (I387dd)
  • ListHeaderListSubHeader의 색상과 서체가 업데이트되었습니다. CheckboxButtonSwitchButton의 전환 컨트롤 색상도 설정할 수 있습니다. (I39817)
  • LazyColumnScalingLazyColumn에서 ContentPadding를 사용하여 ScrollIndicator 위치를 수정했습니다. (I2bc51)
  • CircularProgressIndicatorContent를 사용하여 OpenOnPhoneDialog 진행률 애니메이션에서 발생하는 버그를 수정했습니다. (I3e443)
  • 모션 감소가 사용 설정된 경우 애니메이션을 사용 중지하도록 HorizontalPagerScaffoldVerticalPagerScaffold를 업데이트했습니다. (Iaaf68)
  • 진행률이 100%를 초과할 때 원형 진행률 표시기에 별도의 애니메이션을 구현했습니다. (I47135)
  • 페이저 구성요소에서 EdgeButton가 잘못된 도형으로 그려질 수 있는 버그를 수정했습니다. (I91db9)

버전 1.0.0-alpha29

2024년 11월 13일

androidx.wear.compose:compose-material3:1.0.0-alpha29이 출시되었습니다. 버전 1.0.0-alpha29에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • 시간을 표시하는 기본 콘텐츠를 제공하도록 TimeText를 업데이트했습니다. (Id23b3)
  • 더 이상 필요하지 않은 orientation 매개변수를 삭제하여 PagerStateScrollInfoProvider를 간소화했습니다. 새 동작은 TimeText가 가로 및 세로 페이징 모두에서 제자리에 유지되는 것입니다. (I71767)
  • 이제 LocalHapticFeedback는 Vibrator API에서 햅틱이 지원된다고 표시하면 기본 HapticFeedback 구현을 제공합니다. HapticFeedbackTypeConfirm, ContextClick, GestureEnd, GestureThresholdActivate, Reject, SegmentFrequentTick, SegmentTick, ToggleOn, ToggleOff, VirtualKey가 추가되었습니다. 이제 Wear Compose의 길게 클릭 가능한 구성요소(예: Button, IconButton, TextButton, Card)가 길게 클릭 핸들러가 제공된 경우 LONG_PRESS 햅틱을 실행합니다. (I5083d)

버그 수정

  • 확인 동작을 업데이트했습니다. (I04bff)
  • Compose 라이브러리의 최소 API 종속 항목을 1.7.4로 업데이트했습니다. (I88b46)
  • OpenOnPhone 대화상자에 새로운 모션이 추가되었습니다. (I1e10a)
  • 이제 수준이 0으로 올바르게 표시되도록 LevelIndicator의 버그를 수정했습니다. (Ie95a4)
  • HorizontalPageIndicatorVerticalPageIndicator 애니메이션을 업데이트했습니다. (I5c8f3)
  • 불확정 ArcProgressIndicator에 점으로 축소 애니메이션을 추가했습니다. (I9fd51)

버전 1.0.0-alpha28

2024년 10월 30일

androidx.wear.compose:compose-material3:1.0.0-alpha28이 출시되었습니다. 버전 1.0.0-alpha28에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • 확실하지 않은 원형 진행률 표시기 (I2efc1)에 원호 변형을 추가했습니다.
  • 필요한 경우 맞춤설정을 추가할 수 있도록 (예: 권장 콘텐츠 레이아웃을 유지하면서 AlertDialog 애니메이션을 맞춤설정) AlertDialog API를 구성하는 AlertDialogContentDialog 컴포저블을 공개했습니다. 또한 AlertDialogDefaultsEdgeButton, ConfirmButton, DismissButton 구성원에 ModifierColor 매개변수를 추가했습니다. (I4eb71)
  • Placeholder API를 다음과 같이 업데이트했습니다. PlaceholderState.startPlaceholderAnimation의 이름을 PlaceholderState.animatePlaceholder로, PlaceholderState.isShowContent의 이름을 PlaceholderState.isHidden로, PlaceholderDefaults.shape의 이름을 PlaceholderDefaults.Shape로 변경했습니다. painterWithPlaceholderOverlayBackgroundBrushpainter 매개변수 이름을 originalPainter로 변경했습니다. PlaceholderState.placeholderProgression의 공개 상태를 공개에서 내부로 변경하고 이름을 placeholderShimmerProgression로 변경했습니다. 자리표시자 애니메이션 시간 상수를 PlaceholderDefaults에 추가했습니다. (Ie5a59)
  • EdgeButton API를 다음과 같이 업데이트했습니다. ScreenScaffold의 매개변수 이름을 bottomButton에서 edgeButton로 변경하고 EdgeButtonSize를 값 클래스로 만들었습니다. (Ieef15)
  • Wear Material3 Colors 클래스에서 copy()의 공개 상태를 공개로 변경했습니다. (I0287f)

버그 수정

  • 클릭 시 IconToggleButtonTextToggleButton의 최소 애니메이션 시간을 추가했습니다. (Ieb333)
  • IconButtonTextButton 도형 애니메이션에 최소 시간 추가 (Iebcee)
  • DatePicker의 반복 옵션 상태를 수정했습니다. (I3587c)
  • 알림 및 확인 대화상자에 모션이 추가되었습니다. (I173b1)

버전 1.0.0-alpha27

2024년 10월 16일

androidx.wear.compose:compose-material3:1.0.0-alpha27이 출시되었습니다. 버전 1.0.0-alpha27에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • Wear Compose Foundation LazyColumn의 이름을 TransformingLazyColumn로 변경한 후 ScreenScaffoldScrollIndicator를 업데이트했습니다. int입니다. (I0608b)
  • EdgeButtonpreferredHeight 매개변수 이름이 buttonSize로 변경되었으며, 값은 새로 도입된 EdgeButtonSize 값 클래스의 4가지 상수 중에서만 선택할 수 있습니다. (Icdd70)
  • ListSubheader의 이름을 ListSubHeader로 변경하고 ListHeaderListSubHeader에 공개적으로 액세스할 수 있는 기본값을 추가했습니다. (I96730)
  • 시간 텍스트와 페이지 표시기 구성요소 간에 새로운 애니메이션과 조정을 제공하는 Wear용 새 HorizontalPagerScaffoldVerticalPagerScaffold 구성요소를 추가했습니다. (Iff7d0)
  • 사용자가 로터리 입력 장치를 사용하여 페이저를 탐색할 수 있도록 HorizontalPagerScaffoldVerticalPagerScaffold에 로터리 지원을 추가했습니다. (I9770d)
  • 사용을 간소화하고 일관성을 개선하기 위해 MotionScheme API를 변경했습니다. 인라인화된 remember 함수가 삭제되고 내장 모션 스키마가 전용 MotionScheme 컴패니언 객체로 이동했습니다. standardMotionSchemeexpressiveMotionScheme의 이름을 표준 및 표현식으로 변경했습니다. (I5fd45)
  • 시스템 색상을 기반으로 하는 동적 색 구성표 지원을 추가했습니다. (I073e9)
  • 스테퍼를 최신 UX 사양으로 업데이트했습니다. (I622bb)

버그 수정

  • 카드 구성요소의 서체 및 패딩이 업데이트되었습니다. (I3ae48)
  • UX 사양에 따라 AlertDialog의 확인/닫기 버튼과 나머지 콘텐츠 사이의 패딩을 8dp에서 12dp로 변경했습니다. (Ie55f0)
  • 슬라이더 구성요소의 색상 불투명도가 업데이트되었습니다. (Idb383)

버전 1.0.0-alpha26

2024년 10월 2일

androidx.wear.compose:compose-material3:1.0.0-alpha26이 출시되었습니다. 버전 1.0.0-alpha26에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • HorizontalPageIndicator의 API 및 모양을 업데이트하고 VerticalPager와 함께 사용할 수 있는 VerticalPageIndicator를 추가했습니다. (Ic9309)
  • 이제 AlertDialog는 EdgeButton이 필요하지 않은 맞춤 레이아웃의 경우 버튼 스택 변형에서 기본 하단 버튼을 생략하는 기능을 지원합니다. (I34fa9)
  • Wear Material 3용 SwipeToReveal 구성요소를 추가했습니다. (Ic38b2)
  • 현재 화면에서 스와이프하여 닫기를 지원하지 않는 드문 경우를 위해 SwipeToReveal에 양방향 스와이프 지원이 추가되었습니다. 기본값은 여전히 오른쪽에서 왼쪽으로 스와이프할 때만 스와이프하여 표시하는 것이며, 닫기 스와이프와 충돌하지 않도록 기본 동작을 따르는 것이 좋습니다. (Ifac04)
  • EdgeButtonbuttonHeight 매개변수 이름을 preferredHeight로 바꾸었습니다. (I4fab3)
  • Kotlin 버전이 1.9 (I1a14c)로 업데이트되었습니다.
  • Icon와 충돌하지 않도록 OpenOnPhoneDialogDefaults.Icon의 이름을 OpenOnPhoneDialogDefaults.OpenOnPhoneIcon로 바꿨습니다. (I0f391)
  • LazyColumnScrollIndicator 지원을 추가했습니다. (Ia546a)
  • TextToggleButtonIconToggleButton의 기본값이 업데이트되었습니다. (I7aaa9)
  • PickerPickerGroup API가 간소화되었습니다. (Id0653)
  • 토큰이므로 라이브러리를 사용하는 개발자에게 비공개였던 CardDefaults.ShapeCardDefaults.Height를 추가했습니다. (I1594a, b/347649765)
  • 바이너리 세그먼트 원형 진행률 표시기의 진행률 매개변수 이름을 segmentValue로 변경했습니다. (Ib72d9)
  • 슬라이더의 색상과 레이아웃이 업데이트되었습니다. (Ic3eec)

버그 수정

  • openOnPhone 아이콘 애니메이션을 업데이트했습니다. (I66f85)
  • 이제 Slider, TimePicker, DatePicker에서 Google 기호 아이콘을 사용합니다. (I46c7c)
  • ConfirmationOpenOnPhoneDialog의 패딩이 업데이트되었습니다. (Iaa82e)

버전 1.0.0-alpha25

2024년 9월 18일

androidx.wear.compose:compose-material3:1.0.0-alpha25이 출시되었습니다. 버전 1.0.0-alpha25에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • 확실하지 않은 원형 진행률 표시기를 추가했습니다. (I427a7)
  • CircularProgressIndicatorSegmentedCircularProgressIndicator 모두에 진행률 오버플로(100% 를 초과하는 진행률) 지원을 추가했습니다. 진행률이 1.0을 초과하면 새로운 overflowTrack 색상으로 표시됩니다. (Iaaa3d)
  • 이제 원형 IconToggleButtonTextToggleButton는 다양한 도형이 선택됨, 선택 해제됨, 눌림 상태를 나타내는 새로운 도형 애니메이션 변형을 지원합니다. 방금 눌린 상태의 이전 애니메이션 도형 변형은 계속 지원됩니다. (I29f03)
  • ScreenScaffold에서 EdgeButton 높이를 명시적으로 지정해야 하므로 Column와 함께 EdgeButton를 사용하는 지원이 삭제되었습니다. (Ie353d)
  • ScreenScaffold를 사용하여 Wear Compose LazyColumn 지원을 추가하고 LazyColumnStateScrollInfoProvider 구현을 추가했습니다. (Ib8d29)
  • 앞으로 더 확장 가능한 솔루션을 제공하기 위해 LocalTextMaxLines, LocalTextAlign, LocalTextOverflow를 단일 LocalTextConfiguration 로컬 컴포지션으로 결합했습니다. (I5edbc)
  • 확인 오버레이와 같이 화면 상단이나 하단에 있는 짧은 헤더 텍스트 문자열에만 사용되는 추가 유형 크기인 arc-large가 추가되었습니다. (I60e3e)
  • 권장되는 대형 및 초대형 아이콘 크기와 콘텐츠 패딩을 위한 기본값이 Button에 추가되었습니다. (I84675)

버그 수정

  • IconButtonTextButton의 색상이 업데이트되었습니다. (I48324)
  • 다른 오버로드와 일관성을 위해 기본 Button 오버로드를 세로로 가운데 정렬되도록 변경했습니다. 이전 동작을 복원하려면 RowScopeModifier.align를 사용합니다. (I66e57)

버전 1.0.0-alpha24

2024년 9월 4일

androidx.wear.compose:compose-material3:1.0.0-alpha24이 출시되었습니다. 버전 1.0.0-alpha24에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • Material3 테마에 모션 스키마가 추가되었습니다. 이는 라이브러리 전반의 구성요소에서 표현적인 모션을 위한 스프링과 같은 애니메이션 사양을 적용하는 데 사용됩니다. (I54ff3)
  • Material3 라이브러리에 TimeTextScrollIndicator의 계층화 및 전환을 조정하는 기능을 포함하는 AppScaffoldScreenScaffold 구성요소를 추가했습니다. AppScaffold는 모든 화면 위에 배치되는 최상위 스캐폴드 구성요소를 제공합니다. 따라서 AppScaffoldTimeText를 추가하면 화면 간에 스와이프하는 동안 제자리에 유지됩니다. 화면 자체에서 시간 텍스트를 재정의하거나 숨길 수 있습니다. ScreenScaffoldScrollIndicator의 슬롯을 제공하고 비활성 상태 후 스크롤 표시기를 숨기는 제한 시간을 포함하여 스크롤 시 스크롤 표시기를 자동으로 애니메이션 처리합니다. (I047d6)
  • 새로운 Material3 디자인을 사용하는 ScrollIndicator가 추가되었습니다. 지연 콘텐츠가 목록에 로드될 때 크기가 달라지는 것을 방지하기 위해 초기 목록 콘텐츠를 기반으로 고정된 썸네일 크기가 있습니다. (Ic228d)
  • 향후 필요에 따라 추가 단계를 추가할 수 있도록 ScreenStage가 enum 클래스가 아닌 값 클래스가 되도록 ScrollAway API를 변경했습니다. (I48c93)
  • 화면 하단의 곡선을 따르는 모양의 고유한 Wear 전용 버튼인 EdgeButton를 추가했습니다. (I16369)
  • 스크롤 콘텐츠에 따라 표시되고 크기가 조절되는 하단 버튼 (예: EdgeButton)의 새 슬롯을 ScreenScaffold에 추가했습니다. (I032eb)
  • LazyColumn의 항목에 Material3 모션 효과를 추가하기 위해 Modifier.scrollTransformModifier.targetMorphingHeight를 추가했습니다. (Ie229a)
  • CircularProgressIndicator의 변형으로 SegmentedCircularProgressIndicator를 추가했습니다. 세그먼트화된 변형은 모든 세그먼트에 단일 진행률 값을 표시하거나 각 세그먼트를 켜거나 끌 수 있도록 표시합니다. (I6e059)
  • 기존 CircularProgressIndicator의 대안으로 LinearProgressIndicator를 추가했습니다. (I89182)
  • 사용자에게 중요한 프롬프트를 표시하는 레이아웃을 제공하는 AlertDialog를 추가했습니다. 확인/닫기 버튼 쌍 또는 옵션 스택 아래에 있는 단일 하단 버튼 (일반적으로 EdgeButton)의 변형이 포함됩니다. 두 가지 변형 모두 세부정보를 제공하는 아이콘, 제목, 추가 텍스트 슬롯이 있습니다. (Ieb873)
  • 사용자의 휴대전화에서 계속되는 작업을 나타내는 데 사용해야 하는 OpenOnPhoneDialog를 추가했습니다. OpenOnPhoneDialog는 지정된 시간 초과 후 닫힙니다. (I978fd)
  • 아이콘과 곡선 또는 선형 텍스트용 슬롯이 있는 대화상자 구성요소인 Confirmation를 추가했습니다. 성공/실패 메시지에 관한 구체적인 변형이 제공됩니다. 확인 메시지는 시간이 초과하면 자동으로 닫힙니다. (Ib43e8)
  • 기본 콘텐츠와 TimeText가 겹쳐져 시간이 가려지는 문제를 완화하기 위해 TimeText에 배경을 추가했습니다. (Ia11fd)
  • 볼륨과 같은 설정의 값을 표시하고 기존 Stepper 구성요소와 함께 사용하여 볼륨 화면을 구성할 수 있는 LevelIndicator를 추가했습니다. LevelIndicatorScrollIndicator와 유사하지만 화면의 반대쪽에 표시되며 기본적으로 더 넓은 획 너비와 다른 표시기 색상을 갖습니다. (I8a4ac)
  • 24시간 형식 (초 포함 또는 제외) 또는 AM/PM 선택이 있는 12시간 형식의 레이아웃이 포함된 TimePicker가 추가되었습니다. (Ia5124)
  • 열 순서 (예: 일-월-년, 월-일-년 또는 년-월-일) 및 선택적 최솟값/최댓값 날짜를 구성하는 DatePicker를 추가했습니다. (Ibf13b)
  • TimeTexttext 함수에 가중치 매개변수를 추가했습니다. TimeText가 두 개 이상의 텍스트 요소로 구성된 경우 공백이 배포되는 방식을 제어할 수 있습니다. (I36700)
  • RadioButtonSplitRadioButton를 추가했습니다. 이 구성요소는 (분할)SelectableButton와 하위 라디오 컨트롤 (If7ae8)을 결합하여 이전 API를 간소화합니다.
  • CheckboxButtonSplitCheckboxButton를 추가했습니다. 이 구성요소는 (분할)ToggleButton와 하위 체크박스 컨트롤 (Ia8f70)을 모두 결합하여 이전 API를 단순화합니다.
  • SwitchButtonSplitSwitchButton를 추가했습니다. 이 구성요소는 (Split)ToggleButton와 하위 스위치 컨트롤을 모두 결합하여 이전 API를 단순화합니다. (I0d349)
  • 오버슈팅 동작을 설명하도록 AnimatedText 문서를 업데이트했습니다. (Iff30a)
  • 버튼을 누르면 조정된 애니메이션이 재생되도록 2~3개의 버튼을 결합하는 ButtonGroup를 추가했습니다. (Ie27db)
  • IconButtonTextButton를 누르면 선택적으로 도형 애니메이션이 추가됩니다. (Iffca5)
  • Button, IconButton, TextButton, CompactButton, EdgeButton에 색상 변형 FilledVariant를 추가했습니다. (I65fc3)
  • 이제 버튼 이미지 배경이 기본적으로 구성요소 크기를 유지하도록 ImageWithScrimPainterforcedSize 매개변수를 추가했습니다. forcedSize = null를 설정하면 대신 Painter.instrinsicSize가 채택됩니다. (Ic57af)
  • 버튼에 길게 누르기가 추가되었습니다. (Ib613d)
  • IconButtonTextButton에 길게 클릭 지원도 추가되었습니다. (I38891)
  • 카드에 길게 누르기 지원이 추가되었습니다. (I305d5)
  • LocalTextMaxLines, LocalTextAlign, LocalTextOverflowCompositionLocals로 추가하고 Text에서 매개변수 기본값으로 사용했습니다. 이제 CheckboxButton, SwitchButton, RadioButton와 같은 구성요소에서 컴포지션 로컬을 사용하여 UX 가이드를 구현할 수 있지만, 필요한 경우 개발자가 매개변수를 재정의할 수 있습니다. (Iab841)
  • 데이터가 로드될 때까지 버튼 및 카드와 같은 구성요소의 콘텐츠를 마스킹하는 데 도움이 되는 Placeholder를 추가했습니다. (I1a532)
  • 이제 삭제된 ToggleButtonColors를 대체하기 위해 IconToggleButtonColorsTextToggleButtonColors를 추가했습니다. (Ie0bf1)

버그 수정

  • 새로운 CompositionLocals LocalTextMaxLines, LocalTextAlign, LocalTextOverflow을 사용하여 UX 가이드를 구현하도록 Button, FilledTonalButton, OutlinedButton, ChildButton, CompactButton를 업데이트했습니다. 필요한 경우 개발자가 텍스트에서 직접 이러한 매개변수를 재정의할 수 있습니다. (Ie51f7)
  • 획 너비가 4dpScrollIndicator와 구별하기 위해 LevelIndicator의 기본 획 너비를 6dp로 변경했습니다. (If6f63)
  • 더 큰 스윕 각도가 지원되도록 TimeText의 문제가 수정되었습니다. (Ie489f)
  • EdgeButton 재구성 중에 발생하는 문제를 수정했습니다. (I4cdca)
  • 맞춤 콘텐츠 패딩이 제공된 경우 분할 전환 버튼의 레이아웃을 수정했습니다. (Ia33d3)
  • 작은 진행률 값을 진행률 표시기의 선 너비 이상으로 올림합니다. (I3bd84)

버전 1.0.0-alpha23

2024년 5월 14일

androidx.wear.compose:compose-material3:1.0.0-alpha23이 출시되었습니다. 버전 1.0.0-alpha23에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • 사용 중지된 색상을 구성할 수 있도록 ToggleButtonRadioButton API가 업데이트되었습니다. (If13a7)
  • Material3에 새로운 CircularProgressIndicator를 추가했습니다. (Ib3bd7)

버그 수정

  • 선택 가능한 버튼이 이미 선택되어 있을 때 전환하려면 두 번 탭하라는 안내를 제공하는 버그를 수정했습니다. (I7ed88)

버전 1.0.0-alpha22

2024년 5월 1일

androidx.wear.compose:compose-material3:1.0.0-alpha22이 출시되었습니다. 버전 1.0.0-alpha22에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • Material3 ColorScheme를 업데이트했습니다. (I7b2b8)
  • Material3 스위치가 업데이트되었습니다. 일부 색상이 변경되었으며 이제 체크표시는 체크박스에 사용된 색상과 일치합니다. (Icac7b)

버그 수정

  • rotaryScrollable 수정자를 사용하도록 모든 통합 데모를 업데이트합니다. (I25090)

버전 1.0.0-alpha21

2024년 4월 17일

androidx.wear.compose:compose-material3:1.0.0-alpha21이 출시되었습니다. 버전 1.0.0-alpha21에는 이 커밋이 포함되어 있습니다.

  • 이 출시는 이전 버전의 기술적 문제로 인해 소스 jar가 누락되어 트리거되었습니다. 이 출시에는 새로운 커밋이 없습니다.

버전 1.0.0-alpha20

2024년 4월 3일

androidx.wear.compose:compose-material3:1.0.0-alpha20이 출시되었습니다. 버전 1.0.0-alpha20에는 이 커밋이 포함되어 있습니다.

버그 수정

  • 대비를 위해 리플 눌림 및 포커스 상태 알파를 조정했습니다. (I59f0a)
  • 서체 스타일 및 줄 높이에 대한 최근 변경사항에 따라 Button, ToggleButton, RadioButton에서 기본 라벨과 보조 라벨 사이에 간격을 추가했습니다. (I2c0ba)

버전 1.0.0-alpha19

2024년 3월 6일

androidx.wear.compose:compose-material3:1.0.0-alpha19이 출시되었습니다. 버전 1.0.0-alpha19에는 이 커밋이 포함되어 있습니다.

API 변경사항

  • Wear Compose Material3 라이브러리에 TimeText를 추가했습니다. 이 구성요소는 화면 상단에 현재 시간과 추가 상태를 표시합니다. 간결한 새로운 Material3 API를 사용하면 선형 콘텐츠와 곡선 콘텐츠 간에 중복이 발생하지 않습니다. (I4d7c3)
  • RadioButton의 매개변수 이름을 onSelected에서 onSelect로 업데이트했습니다. (I1a971)
  • RadioButtonSplitRadioButton를 토큰화하고, 색상의 캐시된 인스턴스를 추가하고 RadioButtonColorsSplitRadioButtonColors 메서드를 내부로 만들어 CompositionLocal 조회 횟수를 줄이기 위해 기존 메서드를 리팩터링합니다. (I02b33)

버전 1.0.0-alpha18

2024년 2월 21일

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

API 변경사항

  • 내부적으로 캐시된 인스턴스를 만들고 CompositionLocal 사용량을 줄여 CardColors, ToggleButtonColors, SplitToggleButtonColors의 기본값 패턴을 리팩터링했습니다. (If3fec)

버전 1.0.0-alpha17

2024년 2월 7일

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

API 변경사항

  • 기본적으로 buttonColors를 사용하도록 Button API를 업데이트하고 중복된 filledButtonColors를 삭제했습니다. (I4fe3b)
  • 내부적으로 캐시된 인스턴스를 만들고 CompositionLocal 사용량을 줄여 ButtonColors, IconButtonColors, TextButtonColors의 기본 패턴을 리팩터링했습니다. (I5f51c)
  • 구성요소별 색상 클래스에서 rememberUpdatedState의 오버헤드를 삭제하고 색상 클래스 내의 접근자 메서드를 내부로 표시했습니다. (If6571)

버그 수정

  • Modifier.node을 사용하도록 Modifier.minimumInteractiveComponentSize를 업데이트했습니다. (Iba6b7)

버전 1.0.0-alpha16

2024년 1월 24일

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

새로운 기능

  • 버튼과 동일한 채움, 채움 색조, 윤곽선 색상을 사용할 수 있는 CompactButton를 추가했습니다.(I05df0)

API 변경사항

  • 라디오 컨트롤과 같은 선택 컨트롤의 컨테이너로 RadioButton/SplitRadioButton를 추가했습니다. RadioButton는 선택 가능하고 (선택 그룹 내에서 작동) ToggleButton는 전환 가능하고 (독립적) 기존 ToggleButton와 다릅니다. (I61275)
  • Compose Material3 라이브러리와 일관성을 유지하기 위해 Wear Compose Material3 라이브러리에서 LocalContentAlpha를 삭제합니다. (I49a0a)
  • API에 MutableInteractionSource를 노출하는 Wear Material 및 Wear Material3 구성요소가 업데이트되어 기본값이 null인 null 허용 MutableInteractionSource를 노출합니다. 여기서는 의미론적 변경사항이 없습니다. null을 전달하면 MutableInteractionSource를 호이스팅하지 않겠다는 의미이며 필요한 경우 구성원 내에서 생성됩니다. null로 변경하면 일부 구성요소는 MutableInteractionSource를 할당하지 않을 수 있고 다른 구성요소는 필요할 때만 인스턴스를 지연 생성할 수 있으므로 이러한 구성요소의 성능이 개선됩니다. 이러한 구성요소에 전달하는 MutableInteractionSource를 사용하지 않는 경우 대신 null을 전달하는 것이 좋습니다. 자체 구성요소에서도 유사한 변경사항을 적용하는 것이 좋습니다. (Ib90fc, b/298048146)
  • 지원 중단된 rememberRipple를 대체하는 새로운 리플 API를 wear:compose-materialwear:compose-material3 라이브러리에 추가합니다. 또한 Material 구성요소를 지원 중단된 rememberRipple/RippleTheme API를 사용하도록 되돌리는 임시 CompositionLocal, LocalUseFallbackRippleImplementation를 추가합니다. 이 기능은 다음 안정화 버전에서 삭제되며 맞춤 RippleTheme를 제공하는 케이스의 경우 일시적인 이전 지원 수단으로만 제공됩니다. 이전 정보와 이 변경사항에 관한 자세한 배경 정보는 developer.android.com을 참고하세요. (af92b21)
  • HorizontalPageIndicator API 및 관련 문서가 약간 개선되었습니다. (I60efc)
  • ColorScheme를 변경 불가능한 것으로 업데이트하여 개별 색상 업데이트의 효율성이 떨어졌지만 색상의 일반적인 사용은 더 효율적으로 되었습니다. 이번 변경사항의 이유는 대부분의 앱에서 개별 색상 업데이트를 주요 사용 사례로 사용하지 않기 때문입니다. 이는 여전히 가능하지만 이전보다 더 많이 재구성되므로 모든 Material 코드를 통해 상태 구독의 양이 크게 줄어들고 더 많은 표준 사용 사례의 초기화 및 런타임 비용에 영향을 미칩니다. (Ibc2d6)
  • 사용 중지된 색상을 맞춤설정할 수 있도록 ToggleButtonSplitToggleButton API를 업데이트했습니다. 또한 이제 Material Design 토큰이 색상 및 서체 값에 사용됩니다. (If087c)
  • Material Design 토큰을 사용하도록 버튼 이미지 배경 색상을 업데이트했습니다. (Iba215)
  • 클릭 처리를 삭제하여 Checkbox, Switch, RadioButton 구성요소를 디스플레이 전용으로 변경했습니다. 이러한 구성요소는 클릭을 처리하는 (Split)ToggleButton에서 사용될 것으로 예상되므로 이제 구성요소가 디스플레이 전용으로 더 명확하게 표시됩니다 (Wear에서 독립형으로 사용하기 위한 것은 아님). (I2322e)

버그 수정

  • Wear Compose Material 3에 시간 및 이완의 모션 값 토큰을 추가했습니다. (I437cd)
  • 접근성 안내가 반복되지 않도록 ToggleButton, SplitToggleButton, Checkbox, Switch, RadioButton의 버그를 수정했습니다 (이전에는 시맨틱 역할이 중복됨). (Ica281)
  • 성능을 개선하기 위해 CompactButton의 materialcore 레이어가 삭제되었습니다. (7902858)

버전 1.0.0-alpha15

2023년 11월 15일

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

API 변경사항

  • Foundation 수준 SwipeToDismissBox의 이름을 BasicSwipeToDismissBox로 바꾸었습니다. 이렇게 하면 Foundation 수준 구성요소와 Material3 수준 SwipeToDismissBox를 더 명확하게 구분할 수 있습니다. 후자는 스크림에 사용할 색상을 MaterialTheme에서 가져오고 나머지 구현은 BasicSwipeToDismissBox에 위임합니다. (Ibecfc)

버그 수정

  • 성능을 개선하기 위해 Material3 버튼의 material-core 레이어가 삭제되었습니다. (I55555)

버전 1.0.0-alpha14

2023년 10월 18일

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

API 변경사항

  • Material3 HorizontalPageIndicator에서 indicatorStyle 매개변수를 삭제했습니다. 대신 기기 화면 모양 (선형 또는 원형)을 따릅니다. (I83728)
  • SplitToggleButtonColors 클래스를 추가하여 SplitToggleButton의 색상을 ToggleButton의 색상과 구분했습니다. (I78bee)

버전 1.0.0-alpha13

2023년 10월 4일

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

API 변경사항

  • TitleCard에 선택사항인 자막 필드를 추가했습니다. (Ifc45a)
  • TextButton의 Material Design 색상 토큰을 추가했습니다. (I769dc)

버전 1.0.0-alpha12

2023년 9월 20일

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

API 변경사항

  • Material Design 토큰을 사용하도록 IconButton를 업데이트했습니다. (I3f137)
  • Material Design 토큰을 사용하도록 IconToggleButton를 업데이트했습니다. (I7d263)
  • CheckboxColors, RadioButtonColors, SwitchColors의 생성자를 공개했습니다. (I82b73)

버전 1.0.0-alpha11

2023년 9월 6일

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

버그 수정

  • Material3 카드의 서체를 TitleMedium로 업데이트했습니다. (I597bd)
  • Material3 ListHeaderListSubheader의 서체 및 정렬을 업데이트했습니다. (Ib5ceb)

버전 1.0.0-alpha10

2023년 8월 23일

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

새로운 기능

  • Wear Material3 라이브러리에 HorizontalPageIndicator를 추가합니다. (Ifee99)

API 변경사항

  • Material3 디자인 토큰을 사용하도록 버튼 코드를 업데이트합니다. (I92fe4)
  • 사용자 인터페이스의 세부정보가 아직 확정되지 않았으므로 Wear Material 3 스테퍼 및 슬라이더 API를 실험용으로 선언합니다. (I84d54)
  • 이 크기는 IconButton에만 적용되므로 라운드 TextButtonTextToggleButton에서 ExtraSmall 크기를 삭제했습니다. (Ibc7d5)

버그 수정

  • LargeButtonSize에 LabelLarge를 사용하도록 TextToggleButton의 서체에 관한 안내를 업데이트했습니다. (Ib10fa)
  • LargeButtonSize에 LabelLarge를 사용하도록 TextButton의 서체에 관한 안내를 업데이트했습니다. (I8f3a7)
  • 접근성을 위해 카드의 최소 터치 영역을 48dp로 설정했습니다. (Ieb9b1)
  • 이미지가 있는 AppCard 데모를 추가하고 배경이 있는 AppCard 데모를 삭제했습니다. (Id735f)
  • 수정자가 올바르게 연결되지 않는 원형 버튼의 버그를 수정했습니다. (I5e162)

버전 1.0.0-alpha09

2023년 8월 9일

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

새로운 기능

  • material3용 ToggleButton를 추가했습니다. (I6bed6)

API 변경사항

  • 이전에 주석으로 언급된 FloatRange 주석을 API 제약 조건으로 사용 설정했습니다. (Icb401)
  • 최신 Material3 가이드라인을 준수하도록 Wear Material3의 서체를 업데이트했습니다. (I1bad6)

버그 수정

  • Material3 디자인에 따라 Button, IconButton, TextButton의 색상을 업데이트했습니다. (Ib2495)
  • 사용 중지된 상태에서 체크박스 체크 표시가 보이지 않는 문제를 수정했습니다. (Ib25bf)

버전 1.0.0-alpha08

2023년 7월 26일

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

새로운 기능

  • Material3에 다음과 같은 선택 컨트롤이 추가되었습니다. Switch, Checkbox, RadioButton (Ib918c)
  • Material3에 아이콘과 텍스트용 슬롯이 각각 하나씩 있는 원형 전환 버튼인 IconToggleButtonTextToggleButton를 추가했습니다. 크기가 다른 ToggleButton의 경우 각 전환 버튼에 제공된 크기와 함께 Modifier.touchTargetAwareSize를 사용하는 것이 좋습니다. (I9f015)
  • Material3 구성요소에 ListHeaderListSubheader를 추가했습니다. (Ibaefe)
  • 새 Foundation SwipeToDismissBox를 호출하고 테마의 기본 색상 값을 제공하는 Material3 SwipeToDismissBox를 추가했습니다. (I275fb)
  • Wear Compose에 Material3 InlineSlider가 추가되었습니다. 이를 통해 사용자가 값 범위에서 선택할 수 있습니다. 선택 범위는 해당 범위의 최솟값과 최댓값 사이의 막대로 표시되며, 사용자가 하나의 값을 선택할 수 있습니다. InlineSlider는 볼륨이나 밝기와 같은 설정을 조정하는 데 적합합니다. (I7085f)

API 변경사항

  • Wear Material 3 테마의 도형을 Shape 대신 RoundedCornerShape 기반으로 사용하도록 업데이트했습니다. (Idb133)
  • Button의 높이 상수를 공개했습니다. (Idbfde)
  • 호환성 억제를 주석 처리하도록 API 파일을 업데이트했습니다. (I8e87a, b/287516207)
  • Wear Compose Material 3의 InlineSliderColors를 공개 생성자와 공개 속성이 포함되도록 업데이트했습니다. (I6b632)
  • Wear Compose Material 3의 모든 색상 클래스를 공개 생성자와 공개 속성을 갖도록 업데이트했습니다. (I17702)
  • Button의 가로 및 세로 패딩 상수를 공개했습니다. (Ieeaf7)

버그 수정

  • 이제 필요한 경우 접근성을 위해 큰 글꼴로 인해 늘어난 콘텐츠를 수용하도록 버튼의 높이가 조정됩니다. (Iaf302)
  • 접근성 문제를 해결하기 위해 여러 버튼 데모를 업데이트했습니다. (I61ce9)
  • 이제 StepperInlineSlider에서 길게 누르고 있으면 클릭이 반복되므로 + 또는 - 버튼을 길게 눌러 StepperInlineSlider의 값을 빠르게 늘리거나 줄일 수 있습니다. (I27359)

버전 1.0.0-alpha07

2023년 6월 21일

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

새로운 기능

  • Wear OS Material 3용 Compose 라이브러리에 Stepper 구성요소를 추가했습니다. 이는 이전 Material 버전과 유사하지만 개발자 의견에 따라 기본적으로 범위 시맨틱스를 생략합니다. 범위 시맨틱이 필요한 경우 Modifier.rangeSemantics를 제공합니다. (Ic39fd)
  • Wear OS Material 3용 Compose 라이브러리에 curvedText를 추가했습니다. (Ia8ae3)

버그 수정

  • wear.compose.foundationwear.compose.material3의 API 종속 항목이 되도록 업데이트했습니다. (I72004, b/285404743)

버전 1.0.0-alpha06

2023년 6월 7일

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

버그 수정

  • 사용 중지된 올바른 알파 값에 toDisabledColor 확장 함수를 사용하도록 TextButton를 업데이트했습니다. (I814c8)

버전 1.0.0-alpha05

2023년 5월 24일

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

새로운 기능

  • Material3에 TextButton을 추가했습니다. TextButton은 텍스트용 슬롯이 하나 있는 원형 버튼입니다. 다양한 크기의 TextButton의 경우 TextButtonDefaults에 제공된 Modifier.touchTargetAwareSizeExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize, LargeButtonSizeIcon를 사용하는 것이 좋습니다. 기본 TextButton에는 테두리가 없으며 강조도가 낮은 작업의 경우 배경이 투명합니다. 강조가 필요한 작업에는 filledTextButtonColors을 사용합니다. 중간 강조의 경우 윤곽선이 있는 TextButton을 사용하고 테두리를 ButtonDefaults.outlinedButtonBorder로 설정합니다. 윤곽선이 있는 것과 채워진 것의 중간인 경우 filledTonalTextButtonColors을 사용합니다. (I667e4)
  • Wear Compose Material3 라이브러리에 Card, OutlinedCard, AppCard, TitleCard가 추가되었습니다. AppCardTitleCardCardDefaults.outlinedCardColorsCardDefaults.outlinedCardBorder를 사용하여 윤곽선이 적용된 모양을 지정할 수도 있습니다. (I80e72)

API 변경사항

  • 후행 람다 문법을 지원하기 위해 Button 라벨 매개변수를 끝으로 이동하고 역할 매개변수를 삭제했습니다 (Modifier.semantics를 사용하여 재정의할 수 있음). 이제 ButtonColors 생성자가 공개됩니다. (Ie1b6d)

버전 1.0.0-alpha04

2023년 5월 10일

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

새로운 기능

  • Material3에 아이콘/이미지용 슬롯이 하나 있는 원형 버튼인 IconButton를 추가했습니다. 4가지 변형(IconButton, FilledIconButton, FilledTonalIconButton, OutlinedIconButton)이 있습니다. 다양한 크기의 IconButton의 경우 IconButtonDefaults에 제공된 Modifier.touchTargetAwareSizeExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize, LargeButtonSizeIcon를 사용하는 것이 좋습니다. 또한 지정된 버튼 크기에 권장되는 아이콘 크기를 결정하는 IconButtonDefaults.iconSizeFor도 제공합니다. (I721d4)

버전 1.0.0-alpha03

2023년 4월 19일

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

API 변경사항

  • Material 3 버튼 구성요소가 추가되었습니다. 이 버튼은 경기장 모양의 버튼으로, 이전에는 Wear Compose Material 라이브러리에서 Chip이라는 이름이 붙었으나 Compose Material 3 라이브러리와 일관성을 유지하기 위해 Button으로 이름이 변경되었습니다. 기본 Button은 채워진 배경을 사용하며 FilledTonal (배경이 음소거됨), Outlined (얇은 테두리가 있는 투명), Child (배경이 투명하고 테두리가 없음, 가시성이 가장 낮은 보조 작업에 사용됨)의 버튼 변형이 있습니다. 단순한 아이콘 및 텍스트 콘텐츠용 원형 버튼은 향후 출시에서 제공됩니다.(Ia6942)

버전 1.0.0-alpha02

2023년 4월 5일

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

버그 수정

  • Wear Compose Material 3에 PlatformTextStyle.includeFontPadding를 기본값으로 true (현재 설정)로 설정하는 DefaultTextStyle를 추가했습니다. 이렇게 하면 향후 기본적으로 글꼴 패딩을 사용 중지하는 작업을 Compose 라이브러리와 동기화할 수 있습니다 (배경용 Compose에서 글꼴 패딩 수정 참고). (I7e461)

버전 1.0.0-alpha01

2023년 3월 22일

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

새로운 기능

  • Material 3은 Material Design의 차세대 버전으로, 업데이트된 테마 설정과 새롭게 디자인된 구성요소를 포함합니다. Wear Compose의 Material 3은 Android의 Material 3 Compose 라이브러리와 일관되도록 설계되었습니다. 이 첫 번째 알파 버전에는 다음의 초기 기능 구현이 포함되어 있습니다.

    • Material 테마 - 라이브러리의 구성요소 전체에 걸쳐 색 구성표, 서체, 도형을 일관되게 구성합니다. Material3 테마에서 접근성 있는 대비를 지원하는 색상을 수정했습니다. (I84005)
    • 텍스트/아이콘 - Wear Compose 앱의 구성요소 (I8e06a)
  • Wear Material (androidx.wear.compose:compose-material)과 Wear Material 3 (androidx.wear.compose:compose-material3)은 계속해서 동시에 개발됩니다. 향후 Material3 출시에서는 버튼, 선택 도구, 슬라이더와 같은 Wear OS용 Compose의 익숙한 다른 구성요소를 포함하도록 위젯 세트를 확장할 예정입니다.

  • Wear Material 및 Wear Material 3 라이브러리는 서로 배타적이므로 동일한 앱에서 혼합하면 안 됩니다. 주로 서로 다른 테마를 참조하여 예기치 않은 불일치가 발생하기 때문입니다.