Wear Compose

  
웨어러블용 기기, 크기, 모양 및 탐색 제스처를 지원하는 기능을 제공하여 웨어러블 기기용 Jetpack Compose 애플리케이션을 작성합니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2024년 11월 13일 1.4.0 - - 1.5.0-alpha06

종속 항목 선언

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

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

Groovy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.4.0"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.4.0"

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

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

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

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.4.0")

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

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

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

의견

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

새로운 문제 제출하기

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

Wear Compose Material3 버전 1.0

버전 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를 추가했습니다. IconButton, FilledIconButton, FilledTonalIconButton, OutlinedIconButton의 4가지 변형이 있습니다. 다양한 크기의 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 라이브러리는 서로 배타적이므로 동일한 앱에서 혼합하면 안 됩니다. 주로 서로 다른 테마를 참조하여 예기치 않은 불일치가 발생하기 때문입니다.

Wear Compose 버전 1.5

버전 1.5.0-alpha06

2024년 11월 13일

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

API 변경사항

  • 더 이상 필요하지 않은 orientation 매개변수를 삭제하여 PagerStateScrollInfoProvider를 간소화했습니다. 새 동작은 TimeText가 가로 및 세로 페이징 모두에서 제자리에 유지되는 것입니다. (I71767)
  • TransformingLazyColumn는 이전 버전에서 도입되었습니다. 이제 Wear의 LazyColumn 별칭 (TransformingLazyColumn로 전달됨)이 새 이름 TransformingLazyColumn으로 대체됩니다. TransformingLazyColumnVisibleItemInfoheight 속성도 삭제되었습니다. 대신 measuredHeight를 사용하세요. (I0ea1e)
  • PagerDefaults.snapFlingBehavior snapAnimationSpecTween에서 Spring 사양으로 변경했습니다.(I10d02, b/349781047, b/303807950)
  • LocalReduceMotion CompositionLocal를 안정화 버전으로 승격했습니다. (Ia6f32)

버그 수정

  • 로터리에서 더 나은 시맨틱 지원을 위해 focusTargetWithSemantics를 사용하도록 Modifier.rotaryScrollable를 업데이트했습니다. (Ief0a0)
  • Compose 라이브러리의 최소 API 종속 항목을 1.7.4로 업데이트했습니다. (I88b46)
  • 클리핑 버그를 해결하기 위해 TransformingLazyColumn에서 너비 모핑을 사용 중지했습니다. (I3dfb8)
  • TransformingLazyColumn로 오버스크롤한 후 항목이 사라지는 버그를 수정했습니다. (Id7668)
  • TransformingLazyColumnLazyLayoutSemantics가 추가되었습니다. (Ia8f56)

버전 1.5.0-alpha05

2024년 10월 30일

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

API 변경사항

  • 항목으로 스크롤할 때 애니메이션을 적용할 수 있도록 TransformingLazyColumnStateanimateScrollTo 지원을 추가했습니다. (I4097d)
  • 다음 측정으로 스크롤을 지연하기 위해 TransformingLazyColumnStaterequestScrollTo를 추가했습니다. (I20a5e)
  • TransformingLazyColumncontentPadding 지원을 추가했습니다. (I3a69c)

버그 수정

  • 콘텐츠 높이가 화면 높이보다 짧을 때 TransformingLazyColumn 렌더링에서 발생하는 버그를 수정했습니다. (I6c3e1)
  • 이제 TransformingLazyColumnScrollInfoProvder가 첫 번째 항목을 올바르게 추적합니다. (I1e4a3)
  • 이제 TransformingLazyColumnState가 상태 (anchorItemIndexanchorItemScrollOffset)를 저장합니다. (I3d265)

버전 1.5.0-alpha04

2024년 10월 16일

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

API 변경사항

  • Wear Compose Foundation LazyColumn와 Compose Foundation LazyColumn의 차이를 더 명확하게 구분할 수 있도록 Wear Compose Foundation LazyColumn의 이름을 TransformingLazyColumn로 변경했습니다. int입니다. (I0608b)
  • 사용자가 로터리 입력 장치를 사용하여 페이저를 탐색할 수 있도록 가로/세로 페이저에 로터리 지원을 추가했습니다. (I9770d)
  • 페이저가 기본적으로 페이지에 스냅된다는 점을 명확히 하기 위해 새 PagerDefaults를 업데이트했습니다. (Iff7d0)
  • 이제 TransformingLazyColumnItemScrollProgress는 실적을 개선해야 하는 값 클래스입니다. (Ic399e)
  • 이제 TransformingLazyColumn가 로터리를 기본적으로 지원합니다. (I05206)
  • 이제 TransformingLazyColumnState에서 scrollToItem를 지원합니다. (I507b3)
  • SwipeToReveal API에서 @ExperimentalWearFoundationApi를 삭제했습니다. (I34a66)

버전 1.5.0-alpha03

2024년 10월 2일

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

API 변경사항

  • 현재 화면에서 스와이프하여 닫기를 지원하지 않는 드문 경우를 위해 SwipeToReveal에 양방향 스와이프 지원이 추가되었습니다. . 기본값은 여전히 오른쪽에서 왼쪽으로 스와이프할 때만 스와이프하여 표시하는 것이며, 닫기 스와이프와 충돌하지 않도록 기본 동작을 따르는 것이 좋습니다. (Ifac04)
  • canScrollForwardcanScrollBackward를 재정의하도록 LazyColumnState를 업데이트했습니다. 이제 첫 번째 또는 마지막 항목이 화면 중앙에 정확히 있을 때 스크롤이 중지됩니다. (Ia77d7)
  • Wear에서 발생할 수 있는 포커스 처리, 시스템 스와이프와 상호작용하여 닫기와 같은 일반적인 문제를 해결하는 새로운 HorizontalPagerVerticalPager 구성요소를 추가했습니다. (I2902b)
  • layoutItems를 통해 클라이언트의 keycontentType를 노출하는 LazyColumn 지원을 추가했습니다. (I1bd9c)

버그 수정

  • 페인트 플래그를 사용하여 곡선 텍스트 애니메이션이 더 부드럽게 표시되도록 업데이트했습니다. (I73a15)
  • show 플래그가 false로 설정된 후 onDismissRequest가 호출되지 않음을 반영하도록 Material Dialog 문서를 업데이트했습니다. (Ifd8d6)
  • Material 대화상자의 비네트 애니메이션 버그를 수정했습니다. (I126bf)

버전 1.5.0-alpha02

2024년 9월 18일

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

API 변경사항

  • ScreenScaffold를 사용하여 Wear Compose LazyColumn 지원을 추가하고 LazyColumnStateScrollInfoProvider 구현을 추가했습니다. (Ib8d29)
  • LazyColumnLayoutInfoviewportSize를 추가했습니다. (I4187f)

버그 수정

  • userScrollEnabled 플래그가 false로 설정된 경우 ScalingLazyColumn에서 로터리 스크롤이 사용 중지되도록 버그를 수정했습니다. (I490ab, b/360295825)
  • 곡선 텍스트의 예상치 못한 세로 패딩을 해결하기 위한 버그 수정사항이 적용되었습니다. 이제 곡선 텍스트 높이가 텍스트에서 사용되는 실제 공간과 더 근접합니다. 이렇게 하면 곡선 텍스트가 포함된 스크린샷 테스트가 중단될 수 있습니다 (Iaa6ef).
  • showDialog가 false로 설정되었을 때 onDismissRequest 콜백이 호출되는 Dialog의 버그 수정사항을 되돌렸습니다. 경우에 따라 이로 인해 onDismissRequest가 여러 번 호출되는 문제가 있었기 때문입니다. (I64656)

버전 1.5.0-alpha01

2024년 9월 4일

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

API 변경사항

  • Wear Compose Foundation 라이브러리에 연결된 LazyColumnStateLazyColumnScope API와 함께 새 LazyColumn를 추가했습니다. 이는 Wear Compose로 맞춤설정 가능한 크기 조정 및 모핑 효과를 빌드하기 위한 기반이 됩니다. (Ib3b22)
  • LazyColumn API의 일부로 색인이 생성된 itemsIndexed 버전이 LazyColumnScope에 추가되었습니다. (Ib4a57)
  • 크기 조절 및 모핑 동작을 지원하기 위해 LazyColumn 수정자를 추가했습니다. (Ie229a)
  • HierarchicalFocusCoordinator이 안정화 버전으로 승격되었습니다. (I31035)
  • 곡선 텍스트에 글자 간격 지원을 추가했습니다. (I3c740)
  • 구성요소의 회전을 중지하는 rotationLocked 매개변수를 CurvedLayout.curvedComposable에 추가했습니다. (I66898)
  • Wear Material 및 Wear Material3의 임시 LocalUseFallbackRippleImplementation API가 삭제되었습니다. (I62282)
  • @WearPreviewDevices 멀티 미리보기에서 WearDevices.SQUARE를 삭제했습니다. (I11c02)

버그 수정

  • 이제 SwipeToReveal가 화면의 표시된 부분에 표시된 항목을 배치합니다. 이렇게 하면 SwipeToReveal가 목록 내에서 사용될 때 항목을 항상 상호작용할 수 있고 화면 외부로 나가지 않도록 할 수 있습니다. (I38929)
  • 이제 animatedTo가 완료되면 SwipeToReveallastActionType를 None으로 재설정합니다. (I59b03)
  • curvedComposable의 새 rotationLocked 매개변수에 관한 문서가 개선되었습니다. (Ifbd57)
  • NaNScalingLazyColumnSnapFlingBehaviorperformFling에 전달할 때 발생하는 비정상 종료 문제를 수정했습니다. (Ic13da)
  • 곡선 레이아웃 크기 수정자의 버그를 수정했습니다. (I0fedf)
  • 'sp'로 지정된 문자 간격 지원을 추가했습니다. (I9f6e3)
  • Material2 대화상자에서 대화상자가 보이지 않게 되었을 때 onDismissRequest 콜백이 호출되지 않는 버그를 수정했습니다. (I64656)
  • 목적을 더 잘 반영하도록 LayoutCoordinates.introducesFrameOfReference의 이름을 LayoutCoordinates.introducesMotionFrameOfReference로 바꾸었습니다. 해당 플래그를 기반으로 좌표를 계산하는 관련 함수의 이름을 바꿨습니다. (I3a330)

버전 1.4

버전 1.4.0

2024년 9월 4일

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

1.3.0 이후 중요 변경사항

  • 이제 ScalingLazyColumnPicker가 기본적으로 로터리 입력을 지원합니다. 명시적 로터리 처리를 삭제하고 기본 시스템 동작을 지연하는 것이 좋습니다. 필요한 경우 rotaryScrollableBehavior 매개변수를 사용하여 스크롤 또는 스냅 동작을 구성합니다. 스냅 동작의 경우 flingBehavior 매개변수를 사용하여 스냅 동작과 터치 스크롤 기능을 제공하는 것이 좋습니다.
  • Modifier.rotaryScrollable는 로터리 이벤트를 스크롤 가능한 컨테이너와 연결하는 새로운 수정자로, 사용자가 Wear OS 기기에서 용두나 회전 베젤을 사용하여 스크롤할 수 있도록 합니다.
  • 이제 SwipeDismissableNavHost에서 인앱 전환을 위한 진입 애니메이션을 제공합니다.
  • 이제 화면이 처음 표시될 때 기본적으로 PositionIndicator가 표시됩니다.

기타 변경사항

  • 버전 1.3.0에서 도입된 더 완전한 변경사항 세트는 beta01 출시 노트를 참고하세요.

버전 1.4.0-rc01

2024년 8월 21일

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

  • Compose 종속 항목을 1.7.0-rc01로 업데이트하고 Wear Compose Navigation을 androidx.lifecycle 2.8.3에 고정했습니다.

버전 1.4.0-beta03

2024년 6월 12일

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

버그 수정

  • 성능을 개선하기 위해 'focusable'을 'focusTarget'으로 대체하도록 Modifier.rotaryScrollable를 업데이트했습니다. (Id294b)
  • ProgressIndicatorTalkBack에서 공지사항을 반복하는 문제를 수정했습니다. (I94563)
  • Wear Compose 라이브러리 기준 프로필을 업데이트했습니다. (I3cbc3)

버전 1.4.0-beta02

2024년 5월 29일

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

버그 수정

  • 잘림 문제를 해결하기 위해 스크린 리더에 전달되는 경계 너비를 곡선 텍스트에서 늘렸습니다. (Id865f)
  • 스크린 리더에 전달된 HorizontalPageIndicator의 경계를 제한했습니다. 이전에는 표시기가 전체 화면을 차지했습니다 (Id8d7a).

버전 1.4.0-beta01

2024년 5월 14일

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

Wear OS용 Compose 1.4-beta01 출시는 이 라이브러리 버전의 기능이 완전하고 API가 잠겨 있음을 나타냅니다 (실험용으로 표시된 경우 제외). Wear Compose 1.4에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • 스크롤 가능한 컨테이너와 로터리 이벤트를 연결하는 새로운 수정자 Modifier.rotaryScrollable를 추가하여 사용자가 Wear OS 기기에서 용두나 회전 베젤을 통해 스크롤할 수 있도록 했습니다. 또한 이제 ScalingLazyColumnPicker가 기본적으로 로터리 입력을 지원합니다. rotaryScrollableBehavior 매개변수를 사용하여 스크롤 또는 스냅 동작을 구성합니다. 스냅 동작의 경우 터치 스크롤과 마찬가지로 flingBehavior 매개변수를 통해 스냅을 제공하는 것이 좋습니다.
  • 이제 SwipeDismissableNavHost에서 인앱 전환을 위한 진입 애니메이션을 제공합니다.
  • 이제 화면이 처음 표시될 때 기본적으로 PositionIndicator가 표시됩니다.
  • SelectableChipSplitSelectableChipToggleChip의 변형으로 추가되었습니다. 접근성을 위해 전환 가능한 시맨틱 대신 선택 가능한 시맨틱을 제공하려면 RadioButton와 함께 사용하세요.
  • 이제 ListHeader에서 콘텐츠에 큰 글꼴 크기를 수용하기 위해 추가 높이가 필요한 경우 높이 조정을 지원합니다.

버그 수정

  • 선택 가능한 칩이 이미 선택된 상태에서 전환하려면 두 번 탭하라고 안내하는 버그를 수정했습니다. (I7ed88)

버전 1.4.0-alpha08

2024년 5월 1일

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

API 변경사항

  • 새로운 로터리 API를 다음과 같이 변경했습니다. Modifier.rotaryModifier.rotaryScrollable로 이름을 바꾸고 RotaryBehavior 인터페이스를 RotaryScrollableBehavior로, 함수 handleScrollEventperformScroll로 이름을 바꾸고 RotaryScrollableAdapterRotaryScrollableLayoutInfoProvider로 이름을 바꾸고 scrollableState 속성을 삭제했습니다. (I0c8a6)
  • 로터리 API를 추가로 변경했습니다. RotaryScrollableLayoutInfoProvider의 이름을 RotarySnapLayoutInfoProvider로 변경했습니다 (이 제공업체는 스냅이 있는 로터리에만 필요하므로). RotaryScrollableDefaults.snapBehavior snapOffsetsnapOffset 매개변수 유형을 Int에서 Dp로 변경했습니다. (Iddebe)
  • SplitSelectableChipclickInteractionSource 매개변수 이름이 containerInteractionSource로 변경되었습니다. (Ia8f84)
  • SplitSelectableChip의 클릭 콜백 매개변수 이름을 onClick에서 onSelectionClick로, onBodyClick에서 onContainerClick로 업데이트했습니다. (I32237)

버그 수정

  • PositionIndicator(스크롤바)가 스크롤 가능한 콘텐츠와 겹치는 버그를 수정하기 위해 PositionIndicator의 가로 패딩을 5dp에서 2dp로 업데이트했습니다. 패딩이 변경되어 이 변경사항으로 인해 PositionIndicator가 포함된 기존 스크린샷이 손상될 수 있습니다. (I57472)
  • 저해상도 로터리 기기와 고해상도 로터리 기기의 차이를 설명하여 새 로터리 API 문서를 개선했습니다. (I63abe)
  • 보간된 알파 값이 0보다 작을 때 트리거될 수 있는 SwipeDismissableNavHost의 범위 외 예외를 수정했습니다. (Ib75a1, b/335782510)

버전 1.4.0-alpha07

2024년 4월 17일

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

API 변경사항

  • 스크롤 가능한 컨테이너와 로터리 이벤트를 연결하는 새로운 수정자 Modifier.rotary를 추가하여 사용자가 Wear OS 기기에서 용두나 회전 베젤을 통해 스크롤할 수 있도록 했습니다. 또한 이제 ScalingLazyColumn 및 Picker는 스크롤 또는 스냅의 구성을 지정하는 rotaryBehavior 매개변수가 포함된 새로운 오버로드를 통해 기본적으로 로터리 입력을 지원합니다. rotaryBehavior 매개변수가 스냅으로 설정된 경우 터치 스크롤을 위해 flingBehavior 매개변수를 통해 스냅도 제공하는 것이 좋습니다. (I2ef6f)
  • 이제 애니메이션 (부수 효과)과 마우스 휠 및 키보드 (UserInput)가 포함된 이러한 소스의 확장된 정의를 수용하기 위해 NestedScroll 소스 Drag 및 Fling이 UserInputSideEffect로 대체됩니다. (I40579)
  • Switch/Checkbox과 같은 전환 컨트롤과 RadioButton과 같은 선택 컨트롤을 더 명확하게 구분할 수 있도록 SelectableChipSplitSelectableChip를 추가했습니다. 이렇게 하면 이전에 추가된 ToggleChip/SplitToggleChip 오버로드를 selectionControl 매개변수로 대체합니다. (Ia0217)
  • ProgressIndicatorDefaults에서 IndeterminateStrokeWidth의 공개 상태 한정자를 공개로 업데이트했습니다. (I5b5a4)

버전 1.4.0-alpha06

2024년 4월 3일

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

버그 수정

  • Rotary 동작을 Horologist에서 AndroidX로 이전하는 대규모 작업의 일환으로 로터리 지원의 내부 초안을 추가했습니다. (I617d1)
  • Horologist에서 AndroidX로 로터리 동작을 이전하는 대규모 작업의 일환으로 햅틱 지원의 내부 초안을 추가했습니다. (I5568a)

버전 1.4.0-alpha05

2024년 3월 20일

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

API 변경사항

  • ScalingLazyListStateinitialCenterItemIndexinitialCenterItemScrollOffset 속성을 공개했습니다. (I0c616)
  • ProgressIndicatorDefaultsFullScreenStrokeWidth를 공개로 설정했습니다. (Ibea23)

버그 수정

  • layoutInfo 호출 수를 ScalingLazyColumn에서 줄여 PositionIndicator의 성능을 개선했습니다. (Idc83d)

버전 1.4.0-alpha04

2024년 3월 6일

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

API 변경사항

  • toggleControl 매개변수 대신 selectionControl 매개변수를 사용하는 ToggleChipSplitToggleChip의 새 오버로드를 추가했습니다. 접근성을 위해 전환 가능한 시맨틱 대신 선택 가능한 시맨틱을 제공하려면 RadioButton 컨트롤과 함께 사용해야 합니다. (I1d6d9)
  • selectionControl 오버로드의 매개변수 이름을 ToggleChipSplitToggleChip의 경우 onSelected에서 onSelect로 업데이트했습니다. (I1a971)

버전 1.4.0-alpha03

2024년 2월 21일

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

API 변경사항

  • Modifier.inspectable 래퍼가 지원 중단되었습니다. 이 API는 필요한 것보다 더 많은 수정자의 무효화를 생성하므로 이제 사용하지 않는 것이 좋습니다. 개발자는 수정자 속성을 도구에 노출하려는 경우 ModifierNodeElement에서 inspectableProperties() 메서드를 구현하는 것이 좋습니다. (Ib3236)

버그 수정

  • WearPreview* 주석의 문서 버그가 수정되었습니다. (Id526d)

버전 1.4.0-alpha02

2024년 2월 7일

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

버그 수정

  • 다른 항목을 스와이프하여 한 항목에 커밋된 작업과 상호작용하고 취소할 수 있는 스와이프하여 표시 버그를 수정했습니다.(Ide059)
  • 큰 글꼴 크기를 수용하기 위해 콘텐츠에 추가 높이가 필요한 경우 높이 조정을 지원하도록 ListHeader를 업데이트했습니다. (I7290c, b/251166127)

버전 1.4.0-alpha01

2024년 1월 24일

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

새로운 기능

  • 인앱 전환을 위해 SwipeDismissableNavHost에 진입 애니메이션을 추가했습니다.(cfeb79a)
  • 이제 화면이 처음 표시될 때 기본적으로 PositionIndicator가 표시됩니다. 이 변경사항은 Wear 품질 가이드라인을 준수하기 위해 도입되었습니다. 안타깝게도 이전에는 PositionIndicator이 표시되지 않았으므로 PositionIndicator가 포함된 화면에서 스크린샷 테스트를 업데이트해야 합니다. (419cef7)

API 변경사항

  • 지원 중단된 rememberRipple를 대체하는 새로운 ripple API가 wear:compose-materialwear:compose-material3 라이브러리에 추가되었습니다. 또한 Material 구성요소를 지원 중단된 rememberRipple/RippleTheme API를 사용하도록 되돌리는 임시 CompositionLocal, LocalUseFallbackRippleImplementation를 추가합니다. 이 기능은 다음 안정화 버전에서 삭제되며 맞춤 RippleTheme를 제공하는 케이스의 일시적인 이전 지원용으로만 제공됩니다. 이전 정보와 이 변경사항에 관한 자세한 배경 정보는 developer.android.com을 참고하세요. (af92b21)
  • ColorScheme를 변경 불가능한 것으로 업데이트하여 개별 색상 업데이트의 효율성이 떨어졌지만 색상의 일반적인 사용은 더 효율적으로 되었습니다. 이번 변경사항의 이유는 대부분의 앱에서 개별 색상 업데이트를 주요 사용 사례로 사용하지 않기 때문입니다. 이는 여전히 가능하지만 이전보다 더 많이 재구성되므로 모든 Material 코드를 통해 상태 구독의 양이 크게 줄어들고 더 많은 표준 사용 사례의 초기화 및 런타임 비용에 영향을 미칩니다. (f5c48b7)
  • API에 MutableInteractionSource를 노출하는 Wear Material 및 Wear Material3 구성요소가 업데이트되어 기본값이 null인 nullable MutableInteractionSource를 노출합니다. 여기서는 의미론적 변경사항이 없습니다. null을 전달하면 MutableInteractionSource를 호이스팅하지 않겠다는 의미이며 필요한 경우 구성원 내에서 생성됩니다. null로 변경하면 일부 구성요소는 MutableInteractionSource를 할당하지 않을 수 있고 다른 구성요소는 필요할 때만 인스턴스를 지연 생성할 수 있으므로 이러한 구성요소의 성능이 개선됩니다. 이러한 구성요소에 전달하는 MutableInteractionSource를 사용하지 않는 경우 대신 null을 전달하는 것이 좋습니다. 자체 구성요소에서도 유사한 변경사항을 적용하는 것이 좋습니다. (f8fa920)
  • rememberExpandableState를 업데이트하여 펼쳐지는 상태를 저장합니다. 이렇게 하면 다른 화면으로 이동할 때 데이터가 저장되고 원래 화면으로 돌아올 때 복원됩니다. (5c80095)

버그 수정

  • 수명 주기 인식 리스너를 사용하도록 ReduceMotion 설정을 업데이트했습니다. (7c6b122)
  • 수명 주기를 인식하도록 TouchExplorationStateProvider의 리스너를 업데이트했습니다. (be28b01)
  • 성능을 개선하기 위해 CompactButton의 materialcore 레이어를 삭제했습니다. (25db8e9)
  • 예외를 방지하기 위해 NaN 오프셋에 대해 BasicSwipeToDismissBox를 더 강력하게 만들었습니다. (b983739)
  • 알파 값이 0,1 범위 내에 있도록 BasicSwipeToDismissBox를 업데이트했습니다.
  • 접근성 안내가 반복되지 않도록 ToggleButton, SplitToggleButton, Checkbox, Switch, RadioButton의 버그를 수정했습니다 (이전에는 시맨틱 역할이 중복됨). (d11eeb7)

버전 1.3

버전 1.3.1

2024년 4월 3일

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

버그 수정

  • 스와이프하여 표시에서 다른 항목을 스와이프하여 한 항목에 대해 커밋된 작업과 상호작용하고 취소할 수 있는 버그를 수정했습니다. (Ide059)

버전 1.3.0

2024년 1월 24일

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

1.2.0 이후 중요 변경사항

  • SwipeToDismissBoxState 클래스, SwipeToDismissValue 열거형, Modifier.edgeSwipeToDismiss 확장 함수는 이제 각각 androidx.wear.compose.material 패키지가 아닌 androidx.wear.compose.foundation 패키지의 일부입니다. 업데이트된 이 아키텍처를 사용하면 다른 설계 고려사항과는 별개로 동작 처리를 구현할 수 있습니다. 구성된 테마의 색상을 적용하는 등의 Material Design 워크플로는 별도로 처리됩니다.
  • SwipeToRevealCardSwipeToRevealChip 클래스를 사용하면 recommended swipe-to-reveal guidance를 구현할 수 있습니다. SwipeToRevealSample 클래스는 이러한 구성요소를 사용하는 방법을 보여줍니다.
  • 1.3.0-alpha02 출시에서는 사용자 선택 글꼴 배율을 더 효과적으로 지원하기 위해 ChipToggleChip 객체의 높이가 커지는 변경사항이 도입되었습니다. 이로 인해 일부 클리핑이 발생할 수 있습니다. 이 문제를 해결하기 위해 이제 MaterialThemelarge 도형이 더 큰 모서리 반경 (24dp 대신 26dp)을 사용합니다. ChipToggleChip 객체는 이 새로운 모서리 반경을 사용하여 칩 및 ToggleChip의 모서리에서 콘텐츠가 잘리지 않도록 합니다.

    • 대부분의 ChipsToggleChips는 기본 52dp 높이를 감안할 때 변경되지 않습니다. 그러나 기본 또는 보조 라벨 텍스트가 여러 줄 포함되어 있거나 높이가 재정의된 ChipToggleChip 객체는 스크린샷 테스트가 중단될 수 있습니다.

기타 변경사항

버전 1.3.0에서 도입된 더 완전한 변경사항 세트는 beta01 출시 노트를 참고하세요.

구현 권장사항

  • 앱에서 사용자가 화면의 콘텐츠를 화면 이동할 수 있는 경우(예: 지도 기반 앱) SwipeDismissableNavHost 컴포저블에서 userSwipeEnabledfalse로 설정하여 스와이프 처리를 사용 중지하고 사용자가 이전 화면으로 이동할 수 있는 버튼을 포함합니다.
  • 스크롤 목록 내에서 페이드 인 및 위치 변경 애니메이션 중에 위치 표시기의 애니메이션을 사용 중지하려면 SnapSpec 객체를 사용하세요.
  • 미디어 앱이 재생할 콘텐츠를 로드할 때까지 기다리는 동안 빈 Placeholder 컴포저블을 표시합니다.
  • 확장 가능한 항목의 컬렉션을 필요에 따라 만들려면 실험용 ExpandableStateMapping 클래스를 사용하는 것이 좋습니다.

버전 1.3.0-rc01

2024년 1월 10일

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

버그 수정

  • 26dp 둥근 모서리 반경을 사용하도록 MaterialTheme 대형 도형을 업데이트했으며 이제 Chip 및 ToggleChip에서 이 도형을 사용합니다. 이 변경사항은 콘텐츠에 큰 글꼴 크기를 수용할 추가 높이가 필요한 경우 높이 조정을 지원하기 위해 필요합니다. 그러지 않으면 기존의 경기장 모양이 일부 텍스트 콘텐츠를 잘라냅니다.

    모서리에서 잘린 텍스트
    그림 1: 모서리에서 잘린 텍스트
    텍스트가 잘리지 않음
    그림 2: 텍스트가 잘리지 않았습니다.

    이 변경사항으로 인해 스크린샷 테스트가 중단될 수 있습니다. (I2e6ae)

버전 1.3.0-beta02

2023년 12월 13일

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

버그 수정

  • BasicSwipeToDismissBox에서 의도한 스와이프 동작을 복원했습니다. 이전 버전에서는 손가락이 화면을 터치하는 동안 전환의 슬라이드 부분이 발생하도록 변경되었습니다. (Id8e76)

버전 1.3.0-beta01

2023년 11월 15일

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

Wear OS용 Compose 1.3-beta01 출시는 이 라이브러리 버전의 기능이 완전하고 API가 잠겨 있음을 나타냅니다 (실험용으로 표시된 경우 제외). Wear Compose 1.3에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • SwipeToDismissBoxState, SwipeToDismissValue, Modifier.edgeSwipeToDismissBasicSwipeToDismissBox의 기본 스와이프하여 닫기 구현과 함께 androidx.wear.compose.material에서 androidx.wear.compose.foundation로 이전되었습니다. 이렇게 하면 스와이프하여 닫기의 동작 처리를 Material Design과 독립적으로 사용할 수 있습니다(예: androidx.wear.compose.navigationSwipeDismissableNavHost). androidx.wear.compose.materialSwipeToDismissBox는 여전히 Material Design과 함께 사용하는 것이 좋습니다. MaterialTheme에서 색상을 가져온 다음 나머지 구현을 BasicSwipeToDismissBox에 위임하기 때문입니다.
  • 이제 SwipeDismissableNavHost에서 새로운 userSwipeEnabled 매개변수를 지원하므로 스와이프 처리가 필요하지 않은 화면에서 스와이프 처리를 사용 중지할 수 있습니다.
  • BasicSwipeToDismissBox에서 HierarchicalFocusCoordinator를 사용하여 포커스 처리를 개선했습니다.
  • SwipeToReveal에는 Material에 CardChip에 권장되는 UX 가이드를 따르는 새로운 SwipeToRevealCardSwipeToRevealChip 컴포저블이 있습니다. 보조 작업에 대한 실행취소도 지원합니다.
  • 이제 DefaultTextStyle가 Android 플랫폼 전반에서 일관되도록 글꼴 패딩을 사용 중지합니다.
  • 이제 ChipToggleChip가 접근성을 위해 큰 글꼴로 인해 늘어난 콘텐츠를 수용하도록 높이를 조정합니다.
  • 이제 PositionIndicator에 페이드 인, 페이드 아웃, 위치 변경 애니메이션에 관한 개별 애니메이션 사양이 있습니다. 성능상의 이유로 스크롤 가능한 목록과 함께 사용할 때는 페이드 인 및 위치 변경을 사용 중지하는 것이 좋습니다.
  • ExpandableStateMapping@Composable 범위가 아닌 필요에 따라 생성해야 하는 ExpandableStates를 생성하는 새로운 방법을 제공합니다.
  • 이제 Placeholder에서 콘텐츠가 더 이상 준비 상태가 아닌 경우 재설정을 허용합니다. 또한 이제 모션 감소 설정이 Placeholder의 쉬머링 효과와 와이프 오프 모션에 적용됩니다.

알려진 문제

  • 화면이 처음 표시될 때 PositionIndicator는 처음에는 표시되지 않습니다. 처음에는 애니메이션 없이 표시되도록 초기 1.4 알파에서 변경할 예정입니다.

API 변경사항

  • Foundation 수준 SwipeToDismissBox의 이름을 BasicSwipeToDismissBox로 바꾸었습니다. 이렇게 하면 Foundation 수준 구성요소와 Material 수준 SwipeToDismissBox를 더 명확하게 구분할 수 있습니다. 후자는 스크림에 사용할 색상을 MaterialTheme에서 가져오고 나머지 구현은 BasicSwipeToDismissBox에 위임합니다. (Ibecfc)
  • rememberExpandableStateMapping를 실험용으로 표시하고 expandableItem의 성능을 개선했습니다. (I5f6bc)
  • Material SwipeToReveal 카드 및 칩 API의 SwipeToRevealAction 클래스를 SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction, SwipeToRevealUndoAction 컴포저블을 사용하는 슬롯 기반 API로 대체했습니다. 새 API를 사용하는 방법의 예는 샘플 코드를 참고하세요. (Ia8943)
  • PositionIndicator 애니메이션 플래그를 AnimationSpec 매개변수로 대체했습니다. snapAnimationSpec로 전달하여 개별 애니메이션을 사용 중지할 수 있습니다. (I6c523)

버그 수정

  • 크기가 제한된 경우 제한된 곡선 텍스트로 인해 트리거되는 버그를 수정했습니다. (I50efe)
  • curvedComposable와 관련된 잠재적인 NaN 비정상 종료가 수정되었습니다. (I970eb)
  • PositionIndicator에서 위치 변경 강조 표시 애니메이션 삭제가 되돌려졌습니다. (Ieb424)
  • Material Chip의 성능을 개선하기 위해 Material Chip의 material-core 레이어가 삭제되었습니다. (If2dcb)

버전 1.3.0-alpha08

2023년 10월 18일

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

API 변경사항

  • PositionIndicator 오버로드에 개별 플래그를 추가하여 다양한 애니메이션(showFadeInAnimation, showFadeOutAnimation, showPositionAnimation)을 제어할 수 있습니다. 이전 API는 지원 중단되었으며 호출을 새 API로 전달합니다. 성능상의 이유와 UX 일관성을 위해 PositionIndicator가 스크롤 가능한 목록과 함께 사용되는 경우 showFadeInAnimationshowPositionAnimation 플래그를 사용 중지하는 것이 좋습니다. PositionIndicator가 볼륨 변경과 같이 독립형 표시기로 사용되는 경우 세 가지 애니메이션을 모두 사용 설정하는 것이 좋습니다. (I44294)
  • 스와이프하여 닫기 기능을 wear.compose.foundation로 이전한 후 Material SwipeToDismissBoxState, SwipeToDismissValue, edgeSwipeToDismiss가 지원 중단되었습니다. wear.compose.foundation 등가 항목으로 바꾸세요. (Iee8c9)

버그 수정

  • Wear Compose Foundation, Material, Navigation 라이브러리의 기준 프로필을 업데이트했습니다. (Idb060)
  • 이전 CL에서 도입된 PositionIndicator의 동작 변경사항을 되돌렸습니다. 이로 인해 화면이 처음 표시될 때 PositionIndicator가 애니메이션으로 표시되었습니다. 초기 1.4 알파에서도 PositionIndicator가 처음에 표시되지만 애니메이션이 없도록 유사한 변경사항을 적용할 예정입니다. (I41843)
  • PositionIndicator의 일부 성능 문제가 해결되었습니다. (I1c654, b/302399827)
  • 파생된 상태 대신 State<Boolean>를 사용하도록 터치 탐색 상태 제공업체 기본 구현의 성능을 최적화했습니다. (Ieec4d)
  • Android 13 이상에서 systemGestureExclusion 직사각형을 설정했습니다. (Ib1f4b)

버전 1.3.0-alpha07

2023년 10월 4일

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

API 변경사항

  • PositionIndicator에 다양한 애니메이션(showFadeInAnimation, showFadeOutAnimation, showPositionAnimation)을 제어하는 개별 플래그를 추가했습니다. 이전 API는 지원 중단되었으며 호출을 새 API로 전달합니다. 성능상의 이유와 UX 일관성을 위해 PositionIndicator가 스크롤 가능한 목록과 함께 사용되는 경우 showFadeInAnimationshowPositionAnimation 플래그를 사용 중지하는 것이 좋습니다. PositionIndicator가 볼륨 변경과 같이 독립형 표시기로 사용되는 경우 세 가지 애니메이션을 모두 사용 설정하는 것이 좋습니다. (Ia2d63)

버그 수정

  • 기본 작업 텍스트에 페이드 애니메이션을 추가하고, 전체 스와이프 확장 시 보조 작업을 페이드 처리하거나 아이콘 크기를 변경하여 스와이프하여 표시하는 모션을 개선했습니다. (Ib7223)
  • 스와이프하여 표시 작업에 액세스할 수 있도록 하는 것이 좋으며 스와이프하여 표시 샘플에 맞춤 접근성 작업을 추가했습니다. (I42224)
  • 초기 로직이 재구성되지 않도록 리팩터링을 포함하여 SwipeToDismissBox의 성능을 개선했습니다. 이제 SwipeToDismissBox가 전체 화면 크기로 그려집니다. (Ie0aa2)
  • PositionIndicator가 잘못 사라지는 버그가 수정되었습니다. (I2091a)
  • 리컴포지션을 최적화하여 PositionIndicator의 성능을 개선했습니다. 애니메이션을 제어하는 새로운 플래그 (fadeIn, fadeOut, positionChange)가 추가되었습니다 (API 변경사항 참고). (Ifac7d)
  • PositionIndicator용 Microbenchmark 테스트를 추가했습니다. (Idf875)

버전 1.3.0-alpha06

2023년 9월 20일

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

버그 수정

  • SwipeToReveal에서 Modifier.edgeSwipeToDismiss 지원을 추가했습니다. (I95774, b/293444286)
  • Material SwipeToRevealChipSwipeToRevealCard 샘플을 추가했습니다. (Ieb974)
  • Wear Compose Foundation 및 Material 라이브러리의 기준 프로필을 업데이트했습니다. (I1dd1f)

버전 1.3.0-alpha05

2023년 9월 6일

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

버그 수정

  • 한 번에 하나의 항목만 스와이프할 수 있도록 '스와이프하여 표시'에 처리가 추가되었습니다. (I3cd7a)
  • 실제 동작에 더 잘 맞도록 ScalingLazyColumnDefaults 문서를 개선했습니다. (I886d3)

버전 1.3.0-alpha04

2023년 8월 23일

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

새로운 기능

  • SwipeToReveal의 보조 작업에 대한 실행취소 지원을 추가했습니다. (I7a22d)

API 변경사항

  • Wear Material3 라이브러리에 HorizontalPageIndicator를 추가합니다. (Ifee99)
  • androidx.wear.tooling.preview 라이브러리를 사용하도록 Wear Compose 미리보기 도구를 업데이트했습니다. (Ib036e)

버그 수정

  • 수정자가 올바르게 연결되지 않은 원형 버튼의 버그를 수정했습니다. (I5e162)

버전 1.3.0-alpha03

2023년 8월 9일

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

API 변경사항

  • 카드 및 칩으로 SwipeToReveal를 구현하기 위한 두 가지 새로운 컴포저블이 Material에 추가되었습니다. 이러한 컴포저블은 구성요소에 관한 권장 UX 가이드라인을 따르며 개발자가 Wear Material의 기존 구성요소로 SwipeToReveal를 더 쉽게 구현할 수 있도록 합니다. (I7ec65)
  • 이전에 주석으로 언급된 FloatRange 주석을 API 제약 조건으로 사용 설정했습니다. (Icb401)

버그 수정

  • ScalingLazyColumn의 초기 스크롤 로직을 onGloballyPositioned() 내부로 이동했습니다. (Ic90f1)
  • 이제 PositionIndicator, ProgressIndicator, SelectionControls에서 drawWithCache를 사용하여 획 할당을 최적화합니다. (I5f225, b/288234617)
  • 사용 중지된 상태에서 체크박스 체크 표시가 보이지 않는 문제를 수정했습니다. (Ib25bf)
  • 콘텐츠가 더 이상 준비 상태가 아닌 경우 자리표시자를 표시하도록 재설정할 수 있도록 Placeholder를 업데이트했습니다. (Ibd820)
  • 불안정한 Placeholder 테스트를 수정했습니다. (Idb560)

버전 1.3.0-alpha02

2023년 7월 26일

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

API 변경사항

  • @Composable 범위 내에 있지 않아도 필요에 따라 생성해야 하는 경우에 ExpandableStates를 생성하는 새로운 방법인 ExpandableStateMapping를 제공했습니다. (Iff9e0)
  • SwipeToDismissBoxandroidx.wear.compose.material에서 androidx.wear.compose.foundation 패키지로 이전되었습니다. (I275fb)
  • 호환성 억제에 주석을 추가하도록 API 파일을 업데이트했습니다. (I8e87a, b/287516207)
  • Chip, CompactChip, ToggleChip의 높이 상수를 공개했습니다. (Idbfde)
  • ChipCompactChip의 가로 및 세로 패딩을 공개했습니다. (Ieeaf7)
  • userSwipeEnabled 매개변수를 통해 SwipeDismissableNavHost에서 스와이프 처리를 사용 중지하는 기능을 추가했습니다. (Id2a0b, b/230865655)
  • Wear Compose Foundation의 새 SwipeToDismissBox를 사용하도록 Wear Compose Navigation 라이브러리를 업데이트했습니다. (I4ff8e)

버그 수정

  • 버튼이 있는 경우 버튼의 동작을 클릭한 후 expandedItem가 올바른 콘텐츠를 표시하지 않는 z 순서 버그를 수정했습니다. (I1899d, b/289991514)
  • HierarchicalFocusCoordinator를 사용하여 SwipeToDismissBox (및 SwipeDismissableNavHost)의 포커스 처리를 개선했습니다. (I45362, b/277852486)
  • SwipeableV2의 동작 처리를 수정했습니다 . (I89737)
  • 1.2 출시의 기준 프로필이 완성되었습니다. (Id5740)
  • SwipeToDismissBox가 Foundation으로 이전된 후 Material SwipeToDismissBox 구현은 이제 Foundation으로 전달하고 테마의 기본 색상 값을 제공합니다.(If8451)
  • ListHeader에 제목 시맨틱을 추가했습니다. (Ic5420)
  • 이제 ChipToggleChip는 필요한 경우 접근성을 위해 큰 글꼴로 인해 늘어난 콘텐츠를 수용하도록 높이를 조정합니다. (Iaf302)
  • 접근성을 위해 SplitToggleChip의 탭 가능한 영역의 시맨틱 역할에 있는 버그가 수정되었습니다. (Ieed3a)
  • 이제 모션 감소 설정을 사용하면 자리표시자에서 쉬머링 효과와 와이프 오프 모션이 사용 중지됩니다. (I91046)
  • 이제 StepperInlineSlider에서 길게 누르면 클릭이 반복되므로 + 또는 - 버튼을 길게 눌러 StepperInlineSlider의 값을 빠르게 늘리거나 줄일 수 있습니다. (I27359)

버전 1.3.0-alpha01

2023년 6월 21일

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

버그 수정

  • 1.2.0-alpha071.2.0-alpha10에서 발표된 바와 같이 이제 Android 플랫폼 전반에서 일관되도록 글꼴 패딩을 사용 중지하도록 DefaultTextStyle를 변경합니다. 이렇게 하면 큰 글꼴 크기로 텍스트가 잘리는 일부 사례가 해결되고 화면 레이아웃에도 영향을 미칠 수 있으므로 스크린샷 테스트를 업데이트해야 합니다. 예를 들어 여기에서 텍스트 클리핑을 볼 수 있습니다 (Ic6a86).
큰 글꼴 크기로 잘린 텍스트
그림 1: 텍스트가 잘림
  • 글꼴 패딩이 사용 중지되면 더 이상 표시되지 않습니다.
큰 글꼴 크기로 텍스트가 잘리지 않음
그림 2: 텍스트가 잘리지 않았습니다.
  • wear.compose.foundationwear.compose.material의 API 종속 항목이 되도록 업데이트했습니다. (I72004, b/285404743)
  • SwipeToDismissBox의 버그가 수정되었습니다. 이제 콘텐츠 또는 배경이 변경될 때 새 수정자가 생성되도록 배경 및 콘텐츠 키가 remember 블록에 전달됩니다. (Ib876c, b/280392104)
  • 12시간 또는 24시간 형식을 선택할 때 언어를 사용하도록 TimeText를 업데이트했습니다. (If4a3d)
  • SwipeToDismissBox contentScrimColor 기본 매개변수의 불일치를 수정했습니다. (I2d70f)
  • SwipeToReveal의 모션 처리가 개선되었습니다. (I28fb7)

알려진 문제

  • 사용자가 구성한 글꼴 크기를 지원하는 것은 접근성 요구사항입니다. 여러 줄 칩을 큰 글꼴 크기로 표시하면 텍스트가 잘릴 수 있으므로 이러한 경우 높이를 조정할 수 있도록 초기 1.3 알파 버전에서 칩을 업데이트할 예정입니다.

버전 1.2

버전 1.2.1

2023년 10월 18일

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

버그 수정

  • PositionIndicator가 잘못 사라지는 버그가 수정되었습니다. (7a167f)

버전 1.2.0

2023년 8월 9일

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

1.1.0 이후 중요 변경사항

버전 1.2.0-rc01

2023년 7월 26일

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

버그 수정

  • 1.2 출시 (Id5740)의 기준 프로필을 완성했습니다.

버전 1.2.0-beta02

2023년 6월 7일

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

새로운 기능

  • ScalingLazyColumn에서 크기 조절 및 페이드 효과를 사용 중지하는 새로운 실험용 LocalReduceMotion CompositionLocal 변수를 추가했습니다. (I58024)

버그 수정

  • Wear Compose Foundation 및 Material 라이브러리의 기준 프로필을 업데이트했습니다. (I4725d)
  • SwipeToDismissBox contentScrimColor 매개변수의 기본값 불일치를 수정했습니다. (I2d70f)
  • IncludeFontPadding 설정에 사용되는 DefaultTextStyle 기본값을 수정했습니다. (I737ed)

버전 1.2.0-beta01

2023년 5월 24일

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

Wear OS 1.2용 Compose의 기능

Wear OS용 Compose 1.2-beta01 출시는 이 라이브러리 버전의 기능이 완전하고 API가 잠겨 있음을 나타냅니다 (실험용으로 표시된 경우 제외). Wear Compose 1.2에는 다음과 같은 새로운 기능이 포함되어 있습니다.

  • expandableItemexpandableItemsScalingLazyColumn 내에서 항목 펼치기를 지원하는 두 가지 새로운 Foundation 구성요소입니다. 줄 수가 있는 텍스트와 같이 펼칠 수 있는 단일 항목에는 expandableItem를 사용합니다. 확장 가능한 항목 그룹에는 expandableItems를 사용하고 expandableButton를 사용하여 콘텐츠가 확장된 후 접히는 버튼을 간편하게 만듭니다.
  • HierarchicalFocusCoordinator - 이 실험용 컴포저블을 사용하면 컴포지션의 하위 트리를 포커스 사용 설정 또는 포커스 사용 중지로 표시할 수 있습니다.
  • Picker - 이제 API에 선택 도구를 통한 사용자 스크롤의 사용 가능 여부를 제어하는 userScrollEnabled가 포함되어 있습니다.
  • PickerGroup - 여러 선택 도구를 함께 처리하는 새로운 컴포저블입니다. HierarchicalFocusCoordinator API를 사용하여 선택 도구 간의 포커스를 처리하고 선택 도구 항목의 자동 가운데 정렬을 지원합니다.
  • Placeholder - 쉬머 및 '와이프오프' 애니메이션이 업데이트되었습니다. 이제 콘텐츠가 준비되면 와이프오프 효과가 즉시 적용됩니다.
  • ScalingLazyColumn - ScalingLazyColumn 및 관련 클래스를 androidx.wear.compose.material.ScalingLazyColumn에서 androidx.wear.compose.foundation.lazy.ScalingLazyColumn로 이전했습니다. Foundation.Lazy 버전을 사용하도록 업데이트하세요.
  • SwipeToReveal - 기존의 '길게 누르기' 패턴을 보완하여 보조 작업에 액세스하는 수단으로 스와이프하여 표시하기에 대한 실험용 지원을 추가했습니다.
  • Stepper - 이제 기본 범위 시맨틱스를 쉽게 비활성화할 수 있도록 추가 enableRangeSemantics 매개변수를 사용하여 오버로드가 있습니다.
  • Previews - Wear 화면에서 컴포저블을 미리 보려면 다음과 같은 맞춤 주석을 추가했습니다. WearPreviewSmallRound: 작은 원형 기기에서 컴포저블을 미리 봅니다. WearPreviewLargeRound: 큰 원형 기기에서 컴포저블을 미리 봅니다. WearPreviewSquare: 정사각형 기기에서 컴포저블을 미리 봅니다. 또한 다음과 같은 다중 미리보기 주석이 있습니다. WearPreviewFontScales는 여러 글꼴 크기가 있는 Wear 기기에서 컴포저블을 미리 보이지만 WearPreviewDevices는 여러 Wear 기기에서 컴포저블을 미리 봅니다.
  • Wear Compose에 DefaultTextStyle를 추가하여 PlatformTextStyle.includeFontPadding 속성을 기본적으로 true로 설정했습니다 (현재 설정). 이렇게 하면 초기 1.3 알파 버전에서 기본적으로 글꼴 패딩을 사용 중지하는 작업을 Compose 라이브러리와 동기화할 수 있습니다. 자세한 내용은 1.2.0-alpha10을 참고하세요.

새로운 기능

  • reduce_motion 설정이 켜져 있을 때 사용 중지된 크기 조정 및 페이드 애니메이션을 위한 실험용 지원을 추가했습니다. (I58024)

버그 수정

  • CurvedSize.ktangularWidthDp 문서가 개선되었습니다. (Iab75c)
  • 이제 SwipeDismissableNavHost에서 빈 백스택의 원인일 수 있는 경고를 로깅합니다. 이는 백스택이 비었을 때 발생한 IllegalArgumentException로 인해 예기치 않은 비정상 종료가 발생하지 않도록 하기 위함입니다. (I04a81, b/277700155)

버전 1.2.0-alpha10

2023년 5월 10일

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

새로운 기능

  • 보조 작업에 액세스하는 수단으로 스와이프하여 표시를 지원합니다. 이 패턴은 사용자가 (다른) 보조 작업을 표시할 수 있는 기존 방법인 '길게 누르기' 패턴을 보완합니다. (I60862)

API 변경사항

  • 추가 작업이 표시되는 오프셋에 액세스할 수 있는 RevealScopeSwipeToReveal의 작업 컴포저블에 추가했습니다. (I3fd56)

버그 수정

  • 플링 후 Wear API 33에서 ScalingLazyColumn가 중단되는 문제를 수정했습니다. (Ic4599)
  • 버벅거림을 줄이기 위해 PositionIndicator의 성능을 일부 개선했습니다. (I35e92)
  • 칩 및 CompactChip에서 더 이상 시맨틱 역할이 Role.Button로 설정되지 않는 버그를 수정했습니다. (I93f91, b/277326264)

알려진 문제

  • @WearPreviewDevices 및 @WearPreviewFontScales로 주석을 추가할 때 미리보기 렌더링에 실패를 일으키는 Android 스튜디오의 버그가 발견되었습니다. 곧 수정사항이 출시될 예정입니다. 다른 Wear 미리보기 주석은 Android 스튜디오 Giraffe 2022.3.1 이상에서 정상적으로 작동합니다.

  • 버전 1.2.0-alpha07에서는 Wear Compose에 DefaultTextStyle을 추가하고 기존 PlatformTextStyle.includeFontPadding 값을 true로 유지했습니다. 자세한 내용은 Compose에서 글꼴 패딩 수정을 참고하세요. Android 플랫폼 전반에서 일관성을 유지하기 위해 초기 1.3 알파 버전에서 폰트 패딩을 사용 중지하도록 DefaultTextStyle을 변경할 예정입니다. 이렇게 하면 큰 글꼴 크기로 텍스트가 잘리는 일부 사례가 해결되고 화면 레이아웃에도 영향을 미칠 수 있으므로 스크린샷 테스트를 업데이트해야 합니다. 예를 들어 글꼴 크기가 큰 경우 다음과 같이 텍스트가 잘립니다.

큰 글꼴 크기로 잘린 텍스트
그림 1: 텍스트가 잘림
  • 글꼴 패딩이 사용 중지되면 더 이상 표시되지 않습니다.
큰 글꼴 크기로 텍스트가 잘리지 않음
그림 2: 텍스트가 잘리지 않았습니다.

이제 테마에서 서체를 재정의하여 새 설정을 채택할 수 있습니다(코드 예시 참고).

버전 1.2.0-alpha09

2023년 4월 19일

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

API 변경사항

  • DP로 각도 너비를 설정하기 위해 CurvedModifier API에 angularSizeDp를 추가했습니다. (I89a52)

버그 수정

  • 시간 선택 도구 데모의 접근성 문제를 수정했습니다. (Id0eb7)

버전 1.2.0-alpha08

2023년 4월 5일

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

API 변경사항

  • ExpandableItemsState의 이름을 ExpandableState로 바꾸었습니다. (If85ea)
  • 콘텐츠가 펼쳐질 때 접히는 버튼을 간편하게 만들 수 있도록 expandableButton를 추가하고 확장 가능한 예시를 업데이트했습니다. (Iae309)

버그 수정

  • 더 많은 가능성을 보여주기 위해 펼칠 수 있는 샘플을 개선했습니다. 애니메이션을 통해 콘텐츠가 가운데에 유지되도록 expandableItem의 애니메이션을 수정했습니다. (I2f637)
  • 상태를 사용하여 색상을 수동으로 애니메이션할 때 추가 재구성이 발생하지 않도록 ToggleControls를 업데이트했습니다. (I5d319)

버전 1.2.0-alpha07

2023년 3월 22일

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

API 변경사항

  • MaterialTheme에 대한 의미 있는 참조가 없으므로 확장 가능한 항목 구성요소 (1.2.0-alpha06에 추가됨)를 Material에서 Foundation으로 이동했습니다. (Ib0525)

버그 수정

  • 선택 도구에 포커스가 없을 때 PickerGroup가 포커스를 올바르게 처리하도록 하여 PickerGroup를 사용하는 화면에서 발생하는 비정상 종료 문제를 수정했습니다. 선택 도구 데모에 RSB 스크롤 지원도 추가했습니다. (If8c19)
  • 대화 전환이 개선되었습니다. 이제 아우트로 전환에 맞춰 인트로 전환이 더 원활해졌습니다. (Ib5af9)
  • Wear Compose에 DefaultTextStyle를 추가하여 PlatformTextStyle.includeFontPadding 속성을 기본적으로 true로 설정했습니다 (현재 설정). 이렇게 하면 향후 기본적으로 글꼴 패딩을 사용 중지하는 작업을 Compose 라이브러리와 동기화할 수 있습니다. 배경 정보는 (Compose에서 글꼴 패딩 수정)을 참고하세요. (I2aee8)
  • Google Play 스토어에 앱을 게시하는 것을 차단하는 activity-compose를 통한 UpsideDownCake 미리보기 종속 항목을 되돌렸습니다. (I6443d)

버전 1.2.0-alpha06

2023년 3월 8일

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

API 변경사항

  • 곡선형 세상에서 구성요소를 서로 겹쳐 배치하는 CurvedBox 구성요소를 추가합니다. (I29200)
  • 펼칠 수 있는 항목 추가 - ScalingLazyColumn의 펼칠 수 있는 항목 그룹 또는 펼칠 수 있는 단일 항목(예: 줄 수가 늘어나는 텍스트)을 지원하는 두 가지 새로운 구성요소가 추가되었습니다. (I95dd5)
  • Wear 화면에서 컴포저블을 미리 보려면 다음과 같은 맞춤 주석을 추가하세요. WearPreviewSmallRound: 작은 원형 기기에서 컴포저블을 미리 봅니다. WearPreviewLargeRound: 큰 원형 기기에서 컴포저블을 미리 봅니다. WearPreviewSquare: 정사각형 기기에서 컴포저블을 미리 봅니다. 또한 다음과 같은 다중 미리보기 주석이 있습니다. WearPreviewFontScales는 여러 글꼴 크기가 있는 Wear 기기에서 컴포저블을 미리 보이지만 WearPreviewDevices는 여러 Wear 기기에서 컴포저블을 미리 봅니다. 이러한 미리보기를 사용하려면 최신 Android 스튜디오 (Giraffe Canary 6) 이상을 사용해야 합니다. 이러한 주석이 목적에 맞지 않는 경우에도 미리보기를 계속 사용할 수 있으며 매개변수를 통해 추가 맞춤설정을 지원합니다. (I397ff)
  • HierarchicalFocusCoordinator는 광범위한 적용성을 고려하여 핵심 Compose 라이브러리로 이동할 후보로 간주되지만 실험용으로 표시되어 있습니다. (I3a768)

버그 수정

  • HierarchicalFocusCoordinator의 버그가 수정되었습니다. focusEnabled 매개변수에 전달된 람다가 변경되면 이제 새 람다가 올바르게 사용됩니다. (Icb353)
  • Button, CompactButton, Chip, CompactChip, ToggleButton에서 기본 색상을 배경으로 사용할 때 기본 사용 중지된 콘텐츠 색상을 배경으로 업데이트했습니다. 이렇게 하면 접근성을 위해 대비가 개선됩니다. (I527cc)

버전 1.2.0-alpha05

2023년 2월 22일

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

API 변경사항

  • 선택적으로 최소 제약 조건을 컴포저블에 전파할 수 있도록 PickerGroup API를 업데이트했습니다. true로 설정하면 상위 컴포저블에서 전달된 최소 제약 조건이 PickerGroup에서 허용됩니다. false로 설정하면 PickerGroup가 최소 제약 조건을 재설정합니다. (I3e046)
  • 특정 선택 도구 옵션에 대한 프로그래매틱 애니메이션을 지원하기 위해 Picker API에 animateScrollToOption를 추가했습니다. (I6fe67)

버그 수정

  • 오른쪽에서 왼쪽 레이아웃을 지원하도록 HorizontalPageIndicator를 업데이트했습니다. (Ia4359)
  • HorizontalPageIndicator에서 오른쪽에서 왼쪽 레이아웃의 스크린샷 테스트를 추가했습니다. (I6fbb8)
  • TestNavHostController를 사용하는 SwipeDismissableNavHostTest에 추가 테스트를 추가했습니다. (I61d54)

버전 1.2.0-alpha04

2023년 2월 8일

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

새로운 기능

  • 포커스 API를 사용하여 여러 선택 도구를 함께 처리하는 PickerGroup. 여러 선택 도구 간의 포커스를 처리하고, 매개변수를 기반으로 선택 도구의 자동 가운데 정렬을 지원하고, 개발자가 그룹에서 전송된 이벤트를 처리할 때 여러 선택 도구 간의 포커스를 변경할 수 있도록 합니다. TalkBack 모드에서는 PickerGroup이 그룹의 선택된 선택 도구로 포커스를 이동하여 TalkBack 포커스를 처리합니다. (I60840)

API 변경사항

  • 기본 범위 시맨틱스를 쉽게 비활성화할 수 있도록 추가 enableRangeSemantics 매개변수를 사용하여 스테퍼에 오버로드를 추가했습니다. (Ia61d4)

버그 수정

  • 가로 방향으로 스크롤되는 페이지에서 ScalingLazyColumn이 중첩되는 것을 허용합니다. (Iec3f8, b/266555016)
  • 스테퍼 kdocs 및 StepperTest 테스트 정리를 개선했습니다. (Ic118e)
  • androidx.navigation 종속 항목을 버전 2.5.3으로 업데이트했습니다. (If58ed)

버전 1.2.0-alpha03

2023년 1월 25일

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

API 변경사항

  • ScalingLazyColumn 및 관련 클래스를 androidx.wear.compose.material.ScalingLazyColumn에서 andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn으로 이전했습니다(이전은 이 예 참고). 이 새로운 위치는 독자적인 Material 구성요소가 아니므로 compose.foundation.lazy.LazyColumn의 위치와 더 가깝고 더 자연스럽습니다. 이러한 변경은 현재 새로운 Material3 라이브러리에 대한 준비이며, 기존 Material 라이브러리와 동시에 작업할 예정입니다. (I060e7)

다음 변경사항은 Material에서 Foundation.Lazy로의 ScalingLazyColumn 이전의 일부입니다.

  • Material ScalingLazyColumn을 타겟팅하는 PositionIndicator API가 지원 중단되었습니다. Foundation.Lazy ScalingLazyColumn으로 업데이트하세요. 또한 anchorType 필드가 ScalingLazyListLayoutInfo에 추가되었습니다. (I29d95)
  • ScalingLazyColumn은 Wear Compose Material 패키지에서 지원 중단된 것으로 표시했습니다. (I16d34)
  • Wear Compose Foundation.LazyScalingLazyListState를 사용하도록 ScrollAway 수정자를 업데이트하고 Wear Compose Material의 ScalingLazyListState를 사용하는 오버로드를 지원 중단했습니다. (Ifc42c)
  • Foundation.LazyScalingLazyListState를 사용하도록 Dialog API를 업데이트하고 Material ScalingLazyListState를 사용한 오버로드를 지원 중단했습니다. (Ic8960)
  • Foundation.LazyScalingParams를 사용하도록 Picker API를 업데이트했으며 Material ScalingParams를 사용한 오버로드를 지원 중단했습니다. (Idc3d8)

버그 수정

  • 값이 실제로 변경될 때만 업데이트를 푸시하도록 하여 ScalingLazyListState.centerItemIndex에서 불필요한 리컴포지션을 일으키는 버그를 수정했습니다. (Ia9f38)
  • SwipeToDismissBox의 성능을 개선했습니다. (I3933b)
  • Wear Compose Foundation에 ScalingLazyColumn 벤치마크 테스트를 추가했습니다. (Ie00f9)
  • Material의 일부 내부 ScalingLazyColumn 클래스 메서드를 업데이트하여 Foundation.Lazy에서 이에 상응하는 메서드를 사용하도록 했습니다. (I38aab)
  • 선택 도구 테스트의 일부 문제를 해결하고 오프셋으로 스크롤을 확인하는 테스트를 더 추가했습니다. (I6ac34)
  • Material ScalingLazyColumn 대신 Foundation.Lazy에 종속되도록 ScalingLazyColumn 통합 데모를 이전했습니다. (Ic6caa)
  • DatePicker 데모에 선택적 fromDate/toDate 매개변수를 추가했습니다. (I961cd)

버전 1.2.0-alpha02

2023년 1월 11일

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

API 변경사항

  • 이제 Android Compose UI 테스트가 프레임을 실행하여 유휴 상태가 될 때(예: waitForIdle을 통해) 각 프레임의 레이아웃 패스를 실행합니다. 이는 레이아웃 애니메이션의 개별 프레임에서 어설션하는 테스트에 영향을 미칠 수 있습니다. (I8ea08, b/222093277)
  • BasicText와의 일관된 동작을 위해 매개변수 minLines를 Wear Text에 추가했습니다. (I24874)
  • CompactChipTapTargetPadding이 문서에 표시되도록 공개되었습니다. (If1e70, b/234119038)

버그 수정

  • wear.compose 패키지의 멀티플랫폼 빌드를 사용 중지합니다. (Iad3d7)
  • scrollToOption의 kdocs를 수정합니다. (I6f9a0)
  • PlaceholderState.rememberPlaceholderState()rememberUpdatedState를 사용하도록 업데이트되어 onContentReady 람다인 경우 상태가 업데이트됩니다. (I02635, b/260343754)
  • Modifier.graphicsLayer에 추가된 새로운 합성 전략을 활용하여 Picker 구성요소에서 나타나는 텍스트 흔들림 문제를 수정했습니다. (I99302)
  • DatePicker 데모에서 깜박임을 유발하는 버그를 수정했습니다. (I660bd)
  • 시간(12시간) 및 날짜 선택 도구 데모의 접근성을 개선했습니다. (I05e12)
  • 선택되지 않은 경우 선택 도구가 RSB 변경사항의 영향을 받지 않도록 시간 및 날짜 선택 도구 데모를 업데이트했습니다. (I4aecb)

버전 1.2.0-alpha01

2022년 12월 7일

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

새로운 기능

  • 다음 애니메이션 루프가 시작될 때까지 기다리는 대신 콘텐츠가 준비되는 즉시 '와이프오프' 효과가 적용되도록 실험용 자리표시자 기능을 업데이트했습니다. 쉬머 및 와이프오프 애니메이션에도 몇 가지 업데이트를 적용했습니다. (I5a7f4)

API 변경사항

  • 컴포지션의 하위 트리를 포커스 사용 설정 또는 포커스 사용 중지로 표시할 수 있도록 HierarchicalFocusCoordinator 컴포저블을 추가했습니다. (I827cb)
  • ToggleButton의 시맨틱 역할을 재정의하는 새 속성을 추가했습니다. (I67132)
  • TimeText에서 오전/오후가 삭제되도록 TimeTextDefaults.TimeFormat12Hours를 업데이트했습니다. 이로 인해 TimeText API에서 timeSource 매개변수의 기본값이 변경됩니다. (I1eb7f)
  • 다중 선택 도구가 있는 화면의 접근성을 개선하기 위해 Picker API를 확장했습니다. 선택 도구를 통한 사용자 스크롤의 사용 가능 여부를 제어하는 새 속성 userScrollEnabled를 추가했습니다. (I3c3aa)

버그 수정

  • 최종 UX 사양과 일치하도록 OutlinedButton/OutlinedCompactButton의 기본 테두리 너비를 2.dp에서 1.dp로 변경했습니다. (Icf84d)
  • ScalingLazyColumn에 추가된 첫 번째 항목이 제자리로 스크롤되는 것처럼 보이는 효과를 줄이기 위해 콘텐츠가 비어 있을 경우 추정 autoCentering topPadding을 추가했습니다. 이로 인해 높이가 0dp인 초기 항목이 있다고 가정하여 필요한 상단 패딩의 양이 계산됩니다. ScalingLazyListAnchorType.ItemStart의 경우 올바른 상단 패딩이 계산되고, ScalingLazyListAnchorType.ItemCenter의 경우 콘텐츠의 크기를 올바르게 계산하려면 항목의 높이가 필요하므로 계산이 올바르지 않게 되어 항목의 실제 높이에 따라 제자리로 스크롤되는 효과가 약간 발생합니다. (I239a4)
  • SwipeToDismiss 애니메이션에 적용되는 배경 스크림을 Wear 플랫폼과 일치하도록 업데이트했습니다. (I9003e)
  • 0으로 나누기 오류가 발생하지 않도록 크기가 0인 목록 항목의 경우 LazyListStateScalingLazyListStatePositionIndicator 처리를 수정했습니다. (Ic28dd)

버전 1.1

버전 1.1.2

2023년 2월 8일

androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2, androidx.wear.compose:compose-navigation:1.1.2가 출시되었습니다. 버전 1.1.2에 포함된 커밋을 확인하세요.

버그 수정

  • 값이 실제로 변경될 때만 업데이트를 푸시하도록 하여 ScalingLazyListState.centerItemIndex에서 불필요한 리컴포지션을 일으키는 버그를 수정했습니다. (Ia9f38)

버전 1.1.1

2023년 1월 11일

androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1, androidx.wear.compose:compose-navigation:1.1.1이 출시되었습니다. 버전 1.1.1에 포함된 커밋을 확인하세요.

버그 수정

  • PlaceholderState.rememberPlaceholderState()rememberUpdatedState를 사용하도록 업데이트되어 onContentReady 람다인 경우 상태가 업데이트됩니다. (I02635, b/260343754)

버전 1.1.0

2022년 12월 7일

androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0, androidx.wear.compose:compose-navigation:1.1.0이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.

1.0.0 이후 중요 변경사항

새로운 기능

  • 다음 애니메이션 루프가 시작될 때까지 기다리는 대신 콘텐츠가 준비되는 즉시 '와이프오프' 효과가 적용되도록 실험용 자리표시자 기능을 업데이트했습니다. 쉬머 및 와이프오프 애니메이션에도 몇 가지 업데이트를 적용했습니다. (I5a7f4)

버그 수정

  • 최종 UX 사양과 일치하도록 OutlinedButton/OutlinedCompactButton의 기본 테두리 너비를 2.dp에서 1.dp로 변경했습니다. (Icf84d)
  • ScalingLazyColumn에 추가된 첫 번째 항목이 제자리로 스크롤되는 것처럼 보이는 효과를 줄이기 위해 콘텐츠가 비어 있을 경우 추정 autoCentering topPadding을 추가했습니다. 이로 인해 높이가 0dp인 초기 항목이 있다고 가정하여 필요한 상단 패딩의 양이 계산됩니다. ScalingLazyListAnchorType.ItemStart의 경우 올바른 상단 패딩이 계산되고, ScalingLazyListAnchorType.ItemCenter의 경우 콘텐츠의 크기를 올바르게 계산하려면 항목의 높이가 필요하므로 계산이 올바르지 않게 되어 항목의 실제 높이에 따라 제자리로 스크롤되는 효과가 약간 발생합니다. (I239a4)
  • SwipeToDismiss 애니메이션에 적용되는 배경 스크림을 Wear 플랫폼과 일치하도록 업데이트했습니다. (I9003e)
  • 0으로 나누기 오류가 발생하지 않도록 크기가 0인 목록 항목의 경우 LazyListStateScalingLazyListStatePositionIndicator 처리를 수정했습니다. (Ic28dd)

버전 1.1.0-rc01

2022년 11월 9일

androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01, androidx.wear.compose:compose-navigation:1.1.0-rc01이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.

버그 수정

  • Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip, OutlinedCompactChip에 관한 기준 프로필 규칙을 추가했습니다. (I8249c)
  • 지정된 itemIndex가 유효하지 않은 경우(예: 항목 색인이 범위를 벗어나는 경우) 이제 TimeText가 계속 표시되도록 Modifier.scrollAway의 버그를 수정했습니다. (I2137a)
  • 플랫폼 구현과 일치하도록 SwipeToDismissBox 애니메이션을 업데이트했습니다. 초기 압착 애니메이션 후 닫기가 트리거되면 화면이 오른쪽으로 슬라이드됩니다. (I41d34)
  • 각 재측정 후 수정자의 재구성을 방지하기 위해 측정 블록 내에서 scrollState만 읽도록 Modifier.scrollAway를 업데이트하여 최적화했습니다. (I4c6f1)
  • 동일한 컴포저블에 적용될 때 Modifier.placeholderModifier.placeholderShimmer의 올바른 순서를 표시하도록 자리표시자에 문서와 샘플을 추가했습니다. (Ie96f4, b/256583229)
  • 최종 UX 사양과 일치하도록 OutlinedCompactChip/OutlinedChip의 기본 테두리 너비를 2.dp에서 1.dp로 변경했습니다. (Ib3d8e)
  • 업데이트된 입력이 저장되지 않아 입력이 변경된 후 컴포저블이 업데이트되지 않는 rememberPickerState의 버그를 수정했습니다. (I49ff6, b/255323197)
  • 자리표시자에 대한 UI를 업데이트했습니다. 1) 쉬머 그래디언트를 화면 크기의 1.5배로 변경하고 2) 쉬머 진행의 이징(큐빅 베지어)을 추가하고 3) 와이프오프 애니메이션 속도를 높였습니다(250ms). (Id29c1)
  • 칩 및 카드 배경이 화면의 구성요소 위치를 고려하지 않아 약간 일찍 완전히 삭제되는 자리표시자 wipeOff 효과의 UI 버그를 수정했습니다. (I2c7cb)
  • 가능한 한 겹치지 않고 색상을 병합하도록 자리표시자 배경 그림을 업데이트하여, 자리표시자 배경 가장자리에서 기본 색상이 번지지 못하도록 여러 잘린 레이어의 알파 블렌딩 위험을 줄였습니다. (I2ea26)
  • 두 항목이 표시 영역 중심선의 양쪽에 있으면 가장 가까운 항목이 centerItem으로 간주되도록 ScalingLazyListState.centerItemIndex/centerItemOffset의 계산을 수정했습니다. (I30709, b/254257769)
  • ScalingLazyColumn 초기화 중에 잘못된 오프셋을 보고하는 ScalingLazyListState.layoutInfo.visibleItemsInfo의 버그를 수정했습니다. 이제 모든 목록 항목이 표시되고 올바른 오프셋을 보유할 때까지 빈 목록이 반환됩니다. ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()를 확인하면 ScalingLazyColumn 초기화가 완료되고 항목이 표시되는 것을 확인하게 됩니다. (I3a3b8)

버전 1.1.0-beta01

2022년 10월 24일

androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01, androidx.wear.compose:compose-navigation:1.1.0-beta01이 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.

Wear OS 1.1용 Compose의 기능

Wear OS용 Compose 1.1.0-beta01은 이 라이브러리 버전의 기능이 완전하고 API가 잠겨 있음을 나타냅니다.

  • Wear Compose 1.1 출시에는 다음과 같은 새로운 기능이 포함되어 있습니다.
    • 선택 도구: 스크린 리더로 여러 선택 도구 화면을 탐색하고 콘텐츠 설명에 액세스할 수 있도록 선택 도구의 접근성을 개선했습니다.
    • 선택 도구 contentDescription 매개변수가 이제 선택된 선택 도구 옵션에만 사용되며 null을 허용하는 문자열을 사용합니다(이전 커밋에서는 옵션에서 콘텐츠 설명으로 매핑을 전달해야 했지만 선택한 옵션만 사용됨).
    • gradientRatio를 0으로 설정하면 정렬을 변경하는 부작용이 발생하던 버그를 수정하여 이제 선택 도구 항목이 항상 가운데 정렬됩니다.
    • Chip/ToggleChip: Chip/ToggleChip의 기본 그래디언트를 최신 UX 사양과 일치하도록 업데이트했습니다. 32.5%가 아닌 기본 색상의 50%에서 시작하도록 ChipDefaults.gradientBackgroundChipColors를 업데이트했습니다.
    • Chip/ToggleChip: 칩 모양 수정에 적용되는 오버로드를 추가했습니다.
    • Chip/Button/ToggleButton: 칩과 버튼의 새로운 윤곽선 스타일을 추가하고 테두리가 얇은 투명한 Chip/Button을 제공하는 새로운 OutlinedChipOutlinedButton 컴포저블을 추가했습니다.
    • 카드: 최신 UX 사양에 맞게 카드의 기본 그래디언트를 업데이트했습니다. CardDefaults.cardBackgroundPainter는 기본 색상의 30%에서 시작하고 onSurfaceVariant의 20%에서 끝나도록 업데이트했습니다(이전에는 onSurfaceVariant의 20%에서 시작하여 10%에서 종료됨). ToggleChip.toggleChipColors는 노출 영역 색상의 75%에서 기본 색상의 32.5%로 종료되는 선형 그래디언트에서 노출 영역 색상의 0%에서 기본 색상의 50%로 종료되는 선형 그래디언트로 변경됩니다.
    • Button/ToggleButton: 버튼 모양을 수정하는 속성을 추가했습니다.
    • 테마: 접근성을 개선하기 위해 MaterialTheme의 여러 기본 색상을 업데이트했습니다. 원본 색상의 대비가 충분하지 않아 사용자가 테마 배경 색상과 칩/카드/버튼 배경을 구별하기 어려웠기 때문입니다.
    • InlineSlider/Stepper: Talkback이 버튼으로 인식할 수 있도록 버튼 역할을 추가했습니다.
    • Scaffold: 이제 필요한 공간만 차지하도록 PositionIndicator의 위치와 크기가 지정됩니다. 이는 예를 들어 시맨틱 정보가 추가된 경우 이제 TalkBack이 화면에 PositionIndicator의 올바른 경계를 가져옵니다.
    • CurvedText/TimeText: 스크롤 상태에 따라 항목을 뷰 안팎으로 세로로 스크롤하는 Modifier.scrollAway를 추가했습니다(Column, LazyColumn, ScalingLazyColumn과 함께 작동하는 오버로드 포함). ScrollAway는 일반적으로 사용자가 항목 목록을 위로 스크롤하기 시작할 때 TimeText를 뷰 외부로 스크롤하는 데 사용됩니다.
    • CurvedText/TimeText: CurvedTextStylefontFamily, fontStyle, fontSynthesis 지원을 추가했으며 curvedTextbasicCurvedText에서 사용할 수 있습니다.
    • CurvedText/TimeText: CurvedTextStyle의 생성자 및 복사 메서드에 fontWeight를 추가했습니다.
    • ToggleControls: ToggleChipSplitToggleChip과 함께 사용할 애니메이션 Checkbox, Switch, RadioButton 전환 컨트롤을 추가했습니다. ToggleChipDefaults(switchIcon, checkboxIcon, radioIcon)에서 제공하는 정적 아이콘 대신 사용할 수 있습니다.
    • 자리표시자: 실험용 자리표시자 지원을 추가했습니다. 여기에는 함께 작동하도록 설계된 세 가지 독특한 시각적 효과가 있습니다.
    • 첫째, 컨테이너(칩, 카드 등)에 사용되는 자리표시자 배경 브러시 효과로, 콘텐츠가 로드되기를 기다릴 때 일반 배경 위에 그려집니다.
    • 둘째, 로드 중인 콘텐츠 위에 경기장 모양의 자리표시자 위젯을 그리는 수정자(Modifier.placeholder())입니다.
    • 셋째, 데이터가 로드되기를 기다리고 있음을 사용자에게 나타내기 위해 다른 효과 위에 그려지는 수정자 그래디언트/쉬머 효과(Modifier.placeholderShimmer())입니다.
      • 이러한 모든 효과는 조화롭게 작동하고 희미하게 빛난 후 삭제되도록 설계되어 있습니다.
  • 핵심 Compose 종속 항목이 1.2에서 1.3으로 업데이트되었습니다.

API 변경사항

  • 이제 글꼴 매개변수(fontFamily, fontWeight, fontStyle, fontSynthesis)를 curvedText의 매개변수로 직접 지정할 수 있습니다. (Idc422)

버그 수정

  • curveTextbasicCurvedText가 이제 TalkBack에서 올바르게 작동합니다(콘텐츠 설명으로 텍스트를 사용하여 크기와 위치가 올바르게 지정된(그러나 비어 있음) compose-ui 노드가 연결되어 있음). (I7af7c, b/210721259)
  • PickerState.repeatedItems = false일 때 발생하는 Picker의 버그를 수정함으로써 선택 도구 내부 ScalingLazyColumn에 관한 명시적 autoCentering 매개변수 설정을 추가하여 0번째 옵션을 뷰 중앙으로 스크롤할 수 있도록 했습니다. (I8a4d7)

버전 1.1.0-alpha07

2022년 10월 5일

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

새로운 기능

  • 실험용 자리표시자 지원을 추가했습니다. 여기에는 함께 작동하도록 설계된 세 가지 독특한 시각적 효과가 있습니다. 첫째, 컨테이너(칩, 카드 등)에 사용되는 자리표시자 배경 브러시 효과로, 콘텐츠가 로드되기를 기다릴 때 일반 배경 위에 그려집니다. 둘째, 로드 중인 콘텐츠 위에 경기장 모양의 자리표시자 위젯을 그리는 수정자(Modifier.placeholder())입니다. 셋째, 데이터가 로드되기를 기다리고 있음을 사용자에게 나타내기 위해 다른 효과 위에 그려지는 수정자 그라데이션/쉬머 효과(Modifier.placeholderShimmer())입니다. 이러한 모든 효과는 조화롭게 작동하고 희미하게 빛난 후 삭제되도록 설계되어 있습니다. (I3c339)

API 변경사항

  • CurvedTextStylefontWeight, fontFamily, fontStyle, fontSynthesis 지원을 추가했으며 curvedTextbasicCurvedText에서 사용할 수 있습니다. 이러한 매개변수를 사용하면 곡선 텍스트에 사용할 글꼴과 스타일을 지정할 수 있습니다. (Iaa1a8), (I72759)
  • Modifier.offset과의 일관성을 위해 Modifier.scrollAway의 오프셋 매개변수를 Dp 단위로 업데이트했습니다(이전에는 픽셀 단위로 표시). 또한 LayoutModifier로 리팩터링하여 효율성을 개선했습니다. (I9f94b)
  • 새로운 전환 컨트롤 API의 일환으로 RadioButton’s circleColorringColor로 이름을 바꿨습니다. (I28fa9)
  • ToggleChipSplitToggleChip과 함께 사용할 애니메이션 Checkbox, Switch, RadioButton 전환 컨트롤을 추가했습니다. ToggleChipDefaults(switchIcon, checkboxIcon, radioIcon)에서 제공하는 정적 아이콘 대신 사용할 수 있습니다. (I8a8c4)

버전 1.1.0-alpha06

2022년 9월 21일

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

새로운 기능

  • 스크롤 상태에 따라 항목을 뷰 안팎으로 세로로 스크롤하는 Modifier.scrollAway를 추가했습니다(Column, LazyColumn, ScalingLazyColumn과 함께 작동하는 오버로드 포함). ScrollAway는 일반적으로 사용자가 항목 목록을 위로 스크롤하기 시작할 때 TimeText를 뷰 외부로 스크롤하는 데 사용됩니다. (I61766)

버그 수정

  • 이제 필요한 공간만 차지하도록 PositionIndicator의 위치와 크기가 지정됩니다. 이는 예를 들어 시맨틱 정보가 추가된 경우 이제 TalkBack이 화면에 PositionIndicator의 올바른 경계를 가져옵니다. (Ie6106, b/244409133)

버전 1.1.0-alpha05

2022년 9월 7일

androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05, androidx.wear.compose:compose-navigation:1.1.0-alpha05가 출시되었습니다. 버전 1.1.0-alpha05에 포함된 커밋을 확인하세요.

버그 수정

  • Talkback에서 버튼으로 인식할 수 있도록 버튼 역할이 InlineSliderStepper에 추가되었습니다. (Icb46c, b/244260275)
  • Scaffold에서 위치 및 페이지 표시기의 z 순서를 수정했습니다. 이제 표시기가 비네트 위에 나타나므로 비네트가 있어도 해당 부분이 가려지지 않습니다. (Ib988f, b/244207528)

버전 1.1.0-alpha04

2022년 8월 24일

androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04, androidx.wear.compose:compose-navigation:1.1.0-alpha04가 출시되었습니다. 버전 1.1.0-alpha04에 포함된 커밋을 확인하세요.

API 변경사항

  • 접근성을 개선하기 위해 MaterialTheme의 여러 기본 색상을 업데이트했습니다. 원본 색상의 대비가 충분하지 않아 사용자가 테마 배경 색상과 칩/카드/버튼 배경을 구별하기 어려웠기 때문입니다. 업데이트된 색상은 surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8), onError(0xFF202124->0xFF000000)입니다. 색상 변화는 비교적 미미하더라도 기존 스크린샷 테스트에 영향을 미칠 수 있습니다. (81ab09)

버그 수정

  • 투명성으로 인해 초기화를 완료하지 않은 적은 수(대부분 2개)의 목록 항목이 있는 ScalingLazyColumn의 로직 버그를 수정합니다. (504347)

버전 1.1.0-alpha03

2022년 8월 10일

androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03androidx.wear.compose:compose-navigation:1.1.0-alpha03이 출시되었습니다. 버전 1.1.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

  • ChipsButtons의 새로운 윤곽선 스타일을 추가하고 테두리가 얇은 투명한 Chip/Button을 제공하는 새로운 OutlinedChipOutlinedButton 컴포저블을 추가했습니다(Id5972).

API 변경사항

  • 버튼 형태를 수정하는 오버로드를 추가했습니다(Icccde).

버그 수정

  • ToggleChip의 전환 버튼 컨트롤 영역 크기를 수정했습니다. UX 사양과 일치하지 않았기 때문입니다. UX 사양에서는 라벨과 24x24.dp 전환 버튼 컨트롤 아이콘 영역 사이에 4.dp 스페이서를 요구하여 총 28.dp 너비를 제공합니다. 그러나 구현에서는 36x24.dp 전환 버튼 컨트롤 영역을 잘못 제공합니다. 결국 사용할 수 있는 텍스트 라벨 영역 8.dp가 삭제됩니다. 참고: 이 버그 수정은 텍스트 라벨의 추가 공간을 제공하므로 결과적으로 텍스트가 오버플로되는 텍스트 레이아웃에 긍정적인 영향을 미칠 수 있습니다. ToggleChips를 포함한 스크린샷 테스트가 있는 경우 업데이트해야 할 수 있습니다(I514c8, b/240548670).

버전 1.1.0-alpha02

2022년 7월 27일

androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02, androidx.wear.compose:compose-navigation:1.1.0-alpha02가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.

새로운 기능

  • Core Compose 라이브러리의 Wear OS 종속 항목용 Compose를 1.2.0에서 1.3.0-alpha0X로 변경했습니다.

API 변경사항

  • 칩 모양 수정에 적용되는 오버로드를 추가되었습니다. (I02e87)

버그 수정

  • 기존 확장 애니메이션과 일치하도록 대화상자를 표시하거나 숨길 때 비네트의 표시 상태를 애니메이션으로 처리했습니다. (Ida33e)
  • 스크롤할 때 플링 동작과 함께 0으로 나누기가 발생할 수 있는 버그를 수정했습니다. (I86cb6)
  • 사용 중지된 배경 색상이 완전히 투명하게 표시되도록 ChipDefaults.childChipColor()의 버그를 수정했습니다. (I2b3c3, b/238057342)

버전 1.1.0-alpha01

2022년 6월 29일

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

API 변경사항

  • 선택 도구의 contentDescription 매개변수는 이제 선택된 선택 도구 옵션에만 사용되며 null을 허용하는 문자열을 사용합니다(이전에는 옵션에서 콘텐츠 설명으로 매핑을 전달해야 했지만 선택한 옵션만 사용됨). (Ife6a7)
  • 스크린 리더로 여러 선택 도구를 탐색할 수 있고 콘텐츠 설명에 액세스할 수 있도록 선택 도구의 접근성이 개선되었습니다. (I64edb)

버그 수정

  • Wear Compose 라이브러리로 패키징된 기준 프로필 규칙을 업데이트했습니다. (I9c694)
  • 칩의 그라데이션 방향을 오른쪽에서 왼쪽 모드로 수정했습니다. 기존에는 왼쪽 상단에서 오른쪽 하단 방향이었고 이제 오른쪽 상단에서 왼쪽 하단 방향입니다. (Ic2e77)
  • Chip/ToggleChip/Card의 기본 그라데이션을 최신 UX 사양과 일치하도록 업데이트했습니다. ChipDefaults.gradientBackgroundChipColors를 업데이트하여 32.5%가 아닌 기본 색상의 50%에서 시작하도록 했습니다. CardDefaults.cardBackgroundPainter가 기본 30%에서 시작하여 onSurfaceVariant의 20%로 종료되도록 업데이트되었습니다(기존에는 onSurfaceVariant의 20%에서 시작하여 10%로 종료됨). ToggleChip.toggleChipColors는 표면 색상의 75%에서 기본 색상의 32.5%로 종료되는 선형 그라데이션을 표면 색상의 0%에서 기본 색상의 50%로 종료되도록 변경합니다. (I43bbd)
  • 경사 배경 뒤에 밝은 색상이 사용되는 경우가 드물게 발생하더라도 경사 배경이 적절하게 표시되도록 경사 배경이 있는 Chip/ToggleChips 뒤에 배경 색상(MaterialTheme.color.surface)을 추가했습니다. (Ibe1a4, b/235937657)
  • gradientRatio를 0으로 설정하면 정렬을 변경하는 부작용이 발생하던 버그를 수정하여 이제 선택 도구 항목이 항상 가운데 정렬됩니다. (I712b8)

버전 1.0

버전 1.0.2

2022년 9월 7일

androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2, androidx.wear.compose:compose-navigation:1.0.2가 출시되었습니다. 버전 1.0.2에 포함된 커밋을 확인하세요.

버그 수정

  • Scaffold에서 위치 및 페이지 표시기의 z 순서를 수정했습니다. 이제 표시기가 비네트 위에 나타나므로 비네트가 있어도 해당 부분이 가려지지 않습니다. (Ib988f, b/244207528)

버전 1.0.1

2022년 8월 24일

androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1, androidx.wear.compose:compose-navigation:1.0.1가 출시되었습니다. 버전 1.0.1에 포함된 커밋을 확인하세요.

버그 수정

  • 투명성으로 인해 초기화를 완료하지 않은 적은 수(대부분 2개)의 목록 항목이 있는 ScalingLazyColumn의 로직 버그를 수정합니다. (076c61)

버전 1.0.0

2022년 7월 27일

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

1.0.0의 주요 기능

  • Wear OS용 Compose의 첫 번째 공개 버전입니다(자세히 알아보기).
  • Core Compose 라이브러리를 기반으로 하는 Wear OS용 Compose는 추가적인 웨어러블 전용 구성요소를 제공하며 적절한 경우 웨어러블 기기에 맞춤설정된 Core Compose 구성요소의 대체 구현을 제공합니다.
  • Wear Compose의 주요 구성요소 목록은 Wear OS Beta01용 Compose의 출시 노트를 참고하세요.

버그 수정

  • 기존 확장 애니메이션과 일치하도록 대화상자를 표시하거나 숨길 때 비네트의 표시 상태를 애니메이션으로 처리했습니다. (Ida33e)
  • 스크롤할 때 플링 동작과 함께 0으로 나누기가 발생할 수 있는 버그를 수정했습니다. (I86cb6)
  • 사용 중지된 배경 색상이 완전히 투명하게 표시되도록 ChipDefaults.childChipColor()의 버그를 수정했습니다. (I2b3c3, b/238057342)

버전 1.0.0-rc02

2022년 6월 22일

androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02, androidx.wear.compose:compose-navigation:1.0.0-rc02가 출시되었습니다. 버전 1.0.0-rc02에 포함된 커밋을 확인하세요.

버그 수정

  • 카드의 경사 방향을 오른쪽에서 왼쪽(RTL) 모드로 수정했습니다. 기존에는 왼쪽 상단에서 오른쪽 하단 방향이었으며, 이제는 오른쪽 상단에서 왼쪽 하단 방향입니다. (Ic2e77)
  • Chip/ToggleChip/Card의 기본 경사를 최신 UX 사양과 일치하도록 업데이트했습니다. 32.5%가 아닌 기본 색상의 50%에서 시작하도록 ChipDefaults.gradientBackgroundChipColors를 업데이트했습니다. CardDefaults.cardBackgroundPainter는 기본 색상의 30%에서 시작하여 onSurfaceVariant의 20%로 끝나도록 업데이트했습니다(이전에는 onSurfaceVariant의 20%에서 시작하여 10%에서 끝남). ToggleChip.toggleChipColors는 표면 색상의 75%에서 기본 색상의 32.5%로 가는 선형 경사에서 표면 색상의 0%에서 기본 색상의 50%로 가는 선형 경사로 변경됩니다. (I43bbd)
  • 경사 배경 뒤에 밝은 색상이 사용되는 경우가 드물게 발생하더라도 경사 배경이 적절하게 표시되도록 경사 배경이 있는 Chip/ToggleChips 뒤에 배경 색상(MaterialTheme.color.surface)을 추가했습니다. (Ibe1a4, b/235937657)
  • Wear Compose 라이브러리로 패키징된 기준 프로필 규칙을 업데이트했습니다. (I9c694)

버전 1.0.0-rc01

2022년 6월 15일

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

API 변경사항

  • Compose 라이브러리의 인터페이스가 이제 jdk8 기본 인터페이스 메서드를 사용하여 빌드됩니다. (I5bcf1)

버그 수정

  • fillMaxWidth()를 명시적으로 호출하는 것이 불필요하고 ScalinglazyColumnListHeader()Chip() 구성요소가 혼합되어 있는 경우 ListHeader 항목이 뷰의 안팎으로 스크롤될 때 너비가 확대/축소되어 문제가 발생할 수 있으므로 목록 헤더에서 삭제했습니다. (I37144, b/235074035)
  • 0번째 항목이 매우 큰 경우(패딩 포함) 스크롤할 때까지 목록 항목이 올바르게 그려지지 않을 수 있는 ScalingLazyColumn의 버그를 수정했습니다. (Ic6159, b/234328517)
  • UX 사양 업데이트를 따르면 항목이 화면 가장자리에 도달하므로 ScalingLazyColumn 이징을 약간 조정했습니다. 기존 값은 CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)였으며 새 값은 CubicBezierEasing(0.3f, 0f, 0.7f, 1f)입니다. 이전 동작을 유지하려면 ScalingLazyColumnscalingParams를 재정의하면 됩니다. (Ie375c)
  • Material 접근성 가이드라인을 충족하기 위해 탭 타겟 크기의 높이가 48.dp 이상이 되도록 CompactChip에 패딩을 추가했습니다. 이로 인해 CompactChips를 사용하는 레이아웃이 추가 공간을 차지하게 될 수도 있습니다. (I3d57c)

버전 1.0.0-beta03

2022년 6월 1일

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

새로운 기능

  • Compose @Preview 모드에서 ScalingLazyColumn이 작동하도록 했습니다. (I3b3b6, b/232947354)

API 변경사항

  • 목록 항목이 열의 전체 너비를 채우지 않을 때 최대 가시성을 위해 정렬되도록 ScalingLazyColumn.horizontalAlignment 속성의 기본값을 Start에서 CenterHorizontally로 변경했습니다. 이전 동작으로 다시 전환하려면 horizontalAlignment = Alignment.Start를 설정하세요. (I9ed4b)

알려진 문제

  • CompactChip의 탭/터치 높이가 Material 접근성 가이드라인보다 작습니다. 이 문제는 다음 출시(6월 15일)에서 수정될 예정입니다. CompactChip을 사용하는 경우 이는 레이아웃에 영향을 미칩니다. 이제 CompactChips에 위아래로 패딩이 추가되기 때문입니다. 레이아웃을 조정 및 테스트하거나 버그 주석을 참고하여 기존 동작을 사용할 수 있는 해결 방법을 확인하세요. (b/234332135)

버그 수정

  • TimeText에서 시작 텍스트를 추가 또는 삭제하는 애니메이션을 만드는 새 데모 (I16d75)
  • HorizontalPageIndicator.PagesState 테스트를 추가합니다. (I64ed0)
  • TimeText를 UX 사양에 더 가깝게 업데이트합니다. (Ib7ea1)

버전 1.0.0-beta02

2022년 5월 18일

androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02, androidx.wear.compose:compose-navigation:1.0.0-beta02가 출시되었습니다. 버전 1.0.0-beta02에 포함된 커밋을 확인하세요.

새로운 기능

  • 이제 선택 도구가 읽기 전용 모드일 때도 항상 스크롤 이벤트에 응답합니다. 이렇게 하면 스크롤하기 전에 사용자가 탭하여 선택 도구를 먼저 선택할 필요가 없습니다. 읽기 전용 모드에서는 현재 선택된 옵션 이외의 옵션이 gradientColor에서 shim에 의해 가려집니다. (I72925)
  • 기본적으로 fillMaxWidth가 실행되지 않도록 Chip/ToggleChip/CompactChip/SplitToggleChip의 UX 동작을 변경했습니다. 대신 콘텐츠에 맞게 확장됩니다. 이전 동작을 유지하려면 modifier = Modifier.fillMaxWidth()를 추가하기만 하면 됩니다. (I60a2c, b/232206371)

버그 수정

  • 이제 TextStyle을 사용하는 CurvedTextStyle 생성자가 fontWeight도 따릅니다. 이는 향후 API 버전에서 생성자 및 복사 메서드에 추가될 수 있습니다. (Ieebb9)
  • 가장자리 스와이프를 개선했습니다. Modifier.edgeSwipeToDismiss를 사용하고 가장자리 영역에서 왼쪽으로 스와이프를 트리거하면 스와이프 방향이 오른쪽으로 변경될 때 스와이프하여 닫기가 더 이상 트리거되지 않습니다. 이전에는 왼쪽으로 스와이프한 후 오른쪽으로 스와이프하는 방식으로 스와이프하여 닫기를 트리거할 수 있었습니다. (I916ea)
  • 이제 HorizontalPageIndicator가 화면에 최대 6페이지를 표시합니다. 페이지가 총 6개가 넘는 경우 페이지 사이에 매끄러운 전환과 함께 절반 크기 표시기가 왼쪽이나 오른쪽에 표시됩니다. (I2ac29)
  • ScalingLazyColumnPicker의 기본 맞추기 동작을 개선했습니다. (I49539)
  • 가장자리 스와이프를 개선했습니다. Modifier.edgeSwipeToDismiss를 사용하는 경우 스와이프하여 닫기는 첫 번째 터치가 가장자리에 닿고 오른쪽으로 스와이프할 때만 트리거됩니다. 이전에는 스크롤이 시작 부분에 도달하면 화면 어디에서나 스와이프함으로써 스와이프하여 닫기를 트리거할 수 있었습니다. (I8ca2a)

버전 1.0.0-beta01

2022년 5월 11일

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

Wear OS 1.0용 Compose의 기능

Wear OS용 Compose 1.0.0-beta01은 중요한 이정표입니다. 라이브러리의 기능이 완성되고 API가 잠겨 있기 때문입니다.

1.0 버전의 Wear Compose Material 구성요소에는 다음이 포함됩니다.

  • Material Theme: 모바일용 Compose MaterialTheme의 대안으로 사용되며 Wear Material Design UX 가이드라인을 즉시 구현하는 웨어러블 기기의 구성요소를 빌드하기 위한 색상, 모양, 서체를 제공합니다.
  • Button, CompactButton, ToggleButton: 버튼은 아이콘이나 이미지, 짧은 텍스트(영문 기준 최대 3자)를 사용할 수 있는 단일 슬롯을 제공합니다. 모양은 원형이며 권장되는 기본 또는 대형, 소형 버튼 크기가 있습니다. CompactButton은 콘텐츠(아이콘이나 이미지, 텍스트)를 사용할 수 있는 단일 슬롯을 제공하며 배경 크기가 매우 작은 원형 모양입니다. CompactButton에는 배경 주위에 선택적인 투명 패딩이 있어 클릭 가능한 영역을 늘립니다. ToggleButton은 콘텐츠(짧은 텍스트나 아이콘, 이미지)를 사용할 수 있는 단일 슬롯을 제공하고 선택 여부를 표시하는 색상과 다양한 아이콘이 포함된 켜기/끄기(선택/선택 해제) 상태가 있는 버튼입니다.
  • 카드: 알림 등의 애플리케이션 관련 정보를 표시하는 데 사용합니다. 디자인은 여러 레이아웃을 제공하는 AppCardTitleCard를 사용하여 다양한 사용 사례에 맞게 유연하며 카드 콘텐츠 또는 배경으로 이미지를 지원합니다.
  • 칩: 버튼과 유사한 경기장 모양 구성요소이며, 라벨과 보조 라벨, 아이콘을 허용하기 위해 더 넓은 영역과 여러 슬롯이 있습니다. 크기가 다양하고 배경으로 이미지를 지원합니다.
  • ToggleChips, SplitToggleChips: 선택된/선택 해제된 상태가 있는 칩으로, 스위치나 라디오 버튼과 같은 아이콘을 표시하는 ToggleControl 슬롯을 추가하여 선택된 구성요소 상태를 표시합니다. 또한 SplitToggleChip은 탭 가능한 영역이 두 개 있는데, 하나는 클릭 가능하고 하나는 전환 가능합니다.
  • CircularProgressIndicator: 두 가지 변형이 포함된 Wear Material 진행 상태 표시기입니다. 첫 번째는 진행 중인 작업의 완료 비율을 나타내며 시작 각도와 종료 각도 사이의 원형 트랙의 간격을 지원합니다. 두 번째는 지정되지 않은 대기 시간의 확실하지 않은 진행 상태를 나타냅니다.
  • curvedText: 원형 기기 주위에 구성요소를 배치하기 위해 curvedRow, curvedColumn과 함께 CurvedLayouts를 설명하는 DSL의 일부를 형성합니다. CurvedLayout, CurvedModifier에 관한 자세한 내용은 아래 Wear 구성요소 기초를 참고하세요. 이는 곡선이 아닌 영역에서 수정자와 비슷한 역할을 하며 다양한 측면의 레이아웃, 패딩, 그라데이션 등의 구성을 허용합니다.
  • 대화상자, 알림, 확인: 대화상자는 전체 화면 대화상자를 표시하고 다른 콘텐츠 위에 배치되며 스와이프하여 닫기를 지원합니다. 알림 또는 확인과 같은 체계적인 Wear Material 대화상자 콘텐츠가 될 것으로 예상되는 단일 슬롯을 사용합니다. 알림은 아이콘, 제목, 메시지 슬롯이 포함된 체계적인 대화상자 콘텐츠입니다. 나란히 표시된 두 개의 부정적인 버튼과 긍정적인 버튼 또는 세로로 쌓인 하나 이상의 칩용 슬롯에 관한 오버로드가 있습니다. 확인은 지정된 기간 동안 메시지를 표시하는 체계적인 대화상자 콘텐츠입니다. 아이콘이나 이미지(애니메이션일 수 있음)용 슬롯이 있습니다.
  • HorizontalPageIndicator: 웨어러블 폼 팩터에 적합한 방식으로 가로 페이지 위치를 표시합니다. 전체 화면을 사용하고 원형 기기에 곡선 표시기를 표시하도록 설계되었습니다. Accompanist 페이지 뷰어와 함께 사용할 수 있습니다.
  • 아이콘: Wear Material Theme에서 색상과 알파를 가져오는 아이콘의 Wear 구현입니다. 클릭 가능한 아이콘의 경우 버튼 또는 칩을 참고하세요.
  • 선택 도구: 선택할 수 있는 스크롤 가능한 항목 목록을 표시합니다. 기본적으로 항목은 양방향으로 '무한' 반복됩니다. 읽기 전용 모드로 표시하여 선택되지 않은 옵션을 숨길 수 있습니다.
  • PositionIndicator: 웨어러블 폼 팩터에 적합한 방식으로 스크롤 위치 또는 기타 위치 표시를 나타냅니다. 전체 화면을 사용하고 원형 기기에 곡선 표시기를 표시하도록 설계되었습니다.
  • Scaffold: 기본 Wear Material Design의 시각적 레이아웃 구조를 구현합니다. 이 구성요소는 화면을 구성하는 여러 Wear Material 구성요소(예: TimeText, PositionIndicator, Vignette)를 한데 모으는 API를 제공하여 적절한 레이아웃 전략을 보장하고 필요한 데이터를 수집하므로 이러한 구성요소가 올바르게 함께 작동합니다.
  • ScalingLazyColumn: Wear Material Design 언어의 핵심 부분을 형성하는 스크롤 확장/어안 목록 구성요소입니다. 콘텐츠 항목에 확장 및 투명도 효과를 제공합니다. ScalingLazyColumn은 필요할 때만 구체화되고 구성되는 잠재적으로 많은 수의 콘텐츠 항목을 처리할 수 있도록 설계되었습니다.
  • 슬라이더: 이를 통해 사용자가 값 범위에서 선택할 수 있습니다. 선택 범위는 막대로 표시되며, 구분자와 함께 표시될 수 있습니다.
  • 스테퍼: 사용자가 화면 상단과 하단에 있는 증가/감소 버튼을 사용하여 다양한 값 중에서 선택할 수 있는 전체 화면 구성요소로, 가운데에는 텍스트나 칩 슬롯이 있습니다.
  • SwipeToDismissBox: 스와이프하여 닫기 동작을 처리합니다. 백그라운드(스와이프 동작 중에만 표시됨) 및 포그라운드 콘텐츠용 단일 슬롯을 사용합니다. SwipeDismissableNavHost를 사용하여 선택적으로 AndroidX 탐색 라이브러리와 결합할 수 있습니다. 아래 Wear Compose Navigation 라이브러리를 참고하세요.
  • 텍스트: Compose Material Text 구성요소의 Wear 구현으로, Wear Material Theme에서 색상과 알파를 가져옵니다.
  • TimeText: 화면 상단에 시간과 애플리케이션 상태를 표시하는 구성요소입니다. 원형 화면에서 곡선 텍스트를 사용하여 화면 모양에 맞게 조정됩니다.
  • 비네트: 스크롤 가능한 콘텐츠를 사용할 때 화면 상단과 하단을 흐리게 처리하는 Scaffold에서 사용하는 화면 처리법입니다.

  • Wear Compose Foundation의 다음 구성요소도 포함되어 있습니다.

  • CurvedLayout: Wear Foundation CurvedLayout은 하위 요소를 호에 배치하여 필요에 따라 이를 회전하는 레이아웃 컴포저블입니다. 이는 환형의 세그먼트로 굽은 Row 레이아웃과 유사합니다. CurvedLayout의 콘텐츠는 컴포저블 람다가 아니라 DSL(도메인별 언어)입니다. CurvedLayout의 DSL에 있는 모든 요소는 CurvedModifier에서 만들어진 선택적 수정자 매개변수를 지원합니다.

  • basicCurvedText: CurvedLayout DSL의 요소인 basicCurvedText를 사용하면 개발자가 원의 곡선(일반적으로 원형 화면의 가장자리)에 따라 곡선 텍스트를 쉽게 쓸 수 있습니다. basicCurvedText는 위치 지정 및 CurvedModifiers 사용과 같은 최상의 환경을 보장하기 위해 CurvedLayout 내에서만 만들 수 있습니다. 대부분의 경우 curvedText를 대신 사용해야 합니다. Material 테마 설정을 사용하기 때문입니다.

  • curvedComposable: CurvedLayout과 함께 사용할 수 있도록 일반 컴포저블 콘텐츠를 래핑합니다. curvedComposable에 포함된 요소가 여러 개 있다면 서로의 위에 그려집니다(예: Box). 곡선을 따라 여러 컴포저블을 배치하려면 각 컴포저블을 curvedComposable로 래핑합니다.

  • curvedRow, curvedColumn: Row, Column과 마찬가지로 curvedRow, curvedColumnCurvedLayout 내에 중첩하여 필요에 따라 요소를 배치할 수 있습니다. curvedRow의 경우 각도 레이아웃 방향과 방사형 정렬을 지정할 수 있습니다. curvedColumn의 경우 각도 정렬과 방사형 방향을 지정할 수 있습니다.

  • CurvedModifier: 모든 곡선 구성요소는 CurvedModifier를 사용하여 만들 수 있는 수정자 매개변수를 허용합니다. 배경, 크기, 두께, 패딩이 지원됩니다.

  • Wear Compose Navigation의 다음 구성요소도 포함되어 있습니다.

  • SwipeDismissableNavHost: Compose 계층 구조에서 독립된 탐색을 실행할 수 있는 장소를 제공하며 뒤로 탐색은 스와이프 동작으로 제공됩니다. 콘텐츠는 SwipeToDismissBox 내에 표시되어 현재 탐색 수준을 보여줍니다. 스와이프하여 닫기 동작 중에 이전 탐색 수준(있는 경우)이 백그라운드에 표시됩니다.

  • 제공된 항목에 관한 자세한 내용은 다양한 알파 버전의 이전 출시 노트를 참고하세요.

API 변경사항

  • CurvedModifier.padding* 함수를 추가했습니다. 곡선 구성요소 주위에 추가할 공간을 지정하는 데 사용합니다. (I4dbb4)
  • CompositionLocal 내부 클래스를 삭제했습니다. (I42490)
  • 안내를 위해 Button, CompactButton, ToggleButton 아이콘 크기의 상수 값을 추가했습니다. (I57cab)
  • 사용 설정된 매개변수를 AppCard, TitleCard에 추가했습니다. 이제 androidx.compose.material 카드와 비슷한 API가 있습니다. 이 매개변수를 false로 설정하면 카드를 클릭할 수 없습니다. (Idc48d, b/228869805)

버그 수정

  • 하한선/상한선에 도달하면 이제 스테퍼가 감소 및 증가 버튼을 사용 중지하고 iconColor에 ContentAlpha.disabled를 적용합니다. (I4be9f)
  • 스와이프할 때 표시되는 텍스트의 흔들림을 방지하기 위해 그라데이션으로 그리면 선택 도구 콘텐츠 주위에 패딩 1dp를 추가했습니다. (I0b7b9)
  • PositionIndicator의 스크린샷 테스트를 추가했습니다. (I5e8bc)
  • AppCard, TitleCard 테스트를 더 많이 추가했습니다. (I85391, b/228869805)

버전 1.0.0-alpha21

2022년 4월 20일

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

새로운 기능

  • 곡선 요소의 배경을 지정하기 위해 곡선 수정자를 새로 추가했습니다. CurvedModifier.background, .radialGradientBackground, .angularGradientBackground (I8f392)
  • 곡선 텍스트 오버플로 모드(clip/ellipsis/visible)를 지정할 수 있습니다. (I8e7aa)
  • Compose의 수정자와 유사한 CurvedModifier.weight 수정자를 추가했습니다. curvedRow 및 CurvedLayout(너비)의 하위 요소와 curvedColumn(높이)의 하위 요소에 사용할 수 있습니다. (I8abbd)
  • 곡선 요소의 크기를 지정하기 위해 CurvedModifier.size, .angularSize, .radialSize 수정자를 추가했습니다. (I623c7)

API 변경사항

  • Wear Compose API에서 배경이 일관되게 색상 앞에 오도록 매개변수를 재정렬합니다. (I43208)
  • 시계 방향 및 insideOut 매개변수를 삭제하고 새 클래스의 표현력이 풍부한 상수로 대체했습니다. 곡선 레이아웃 방향이 이제 LayoutDirection을 인식할 수 있으며, 지정되지 않으면 상속됩니다. (If0e6a)
  • ScalingLazyColumn 관련 API 문제 해결을 위해 autoCenter: BooleanautoCenter: AutoCentringParams로 대체했습니다. (Ia9c90)
  • 색상이 아이콘/toggleControl 슬롯에 적용되므로 API 전체에서 iconTintColortoggleControlTintColoriconColortoggleControlColor로 이름을 바꿨습니다(Chip/ToggleChip/Dialog/Slider/Stepper/...). (Ied238)
  • PageIndicatorStyle enum을 값 클래스로 다시 작성합니다. (I2dc72)
  • 개발자에게 레이아웃 가정이 무엇인지 나타내도록 컴포저블의 일부 슬롯에 RowScope/ColumnScope/BoxScope를 추가했습니다. 이를 통해 개발자는 일부 슬롯 콘텐츠에 추가 수정자를 사용할 수 있으며 추가 레이아웃 요소를 제공할 필요가 없습니다. 또한 timeColorappColorcontentColor로 기본 설정되도록 AppCard/TitleCard 색상을 약간 업데이트했습니다. 이러한 속성은 필요한 경우 모두 개별적으로 재정의할 수 있습니다. (I26b59)
  • SwipeToDismissBoxState.Companion 객체를 비공개로 설정했습니다. (I39e84)
  • InlineSliderStepper의 매개변수 순서를 수정합니다. API 가이드라인을 따르기 위한 간단한 변경사항입니다. (I11fec)
  • SwipeToDismissBoxState의 Saver 객체가 사용되지 않았으므로 삭제했습니다. (Ifb54e)
  • 최신 UX 사양에 맞도록 CompactChip을 업데이트했습니다. 패딩은 가로 = 12.dp, 세로 = 0.dp로 줄었습니다. 라벨의 글꼴은 버튼에서 caption1로 변경했습니다. 권장 아이콘 크기는 아이콘과 라벨이 모두 존재할 때는 20x20이고 아이콘 전용 압축 칩의 경우에는 24x24입니다. 아이콘 전용 사용 사례의 경우에도 아이콘이 가운데 정렬되도록 했습니다. (Iea2be)
  • 개발자가 적용된 contentPaddingautoCenteringPadding의 크기를 알 수 있도록 ScalingLazyListLayoutInfo에 새로운 필드를 여러 개 추가했습니다. 플링과 스크롤을 계산할 때 개발자에게 유용할 수 있습니다. (I7577b)
  • 대화상자의 in/out 전환을 구현했습니다. showDialog 매개변수를 추가했으며 이제 대화상자가 자체 공개 상태를 제어합니다(이를 통해 대화상자가 표시되거나 숨겨질 때 대화상자에서 인트로 및 아우트로 애니메이션을 실행할 수 있음). 사용자가 스와이프하여 닫는 방법을 통해 대화상자를 닫으면 아우트로 애니메이션이 실행되지 않습니다. 최근에 추가된 SwipeToDismissBox 오버로드에 상태의 기본값도 추가했습니다. (I682a0)
  • i18n 및 a11y를 더 잘 지원하기 위해 ToggleChipSplitToggleChip을 변경하여 더 이상 toggleControl 슬롯의 기본값을 보유하지 않도록 했습니다. 또한 다음 메서드가 이제 아이콘이 아닌 ImageVector를 반환하도록 ToggleChipDefaults를 변경했습니다(더 이상 @Composables를 반환하지 않으므로 소문자로 시작하도록 변경됨). SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon(), RadioIcon()->radioIcon()을 통해 개발자는 적절한 contentDescription 세트로 자체 Icon() 컴포저블을 만들 수 있습니다. (I5bb5b)
  • SwipeDismissableNavHostSwipeDismissableNavHostState 매개변수를 추가했습니다. 이를 통해 탐색 대상으로 사용되는 화면에서 가장자리 스와이프를 사용할 수 있습니다. 이제 SwipeToDismissBoxState를 호이스팅하여 가장자리 스와이프가 필요한 화면에서 SwipeDismissableNavHostStateModifier.edgeSwipeToDismiss를 모두 초기화하는 데 사용할 수 있기 때문입니다. (I819f5, b/228336555)

버그 수정

  • 필요할 때 곡선 레이아웃이 업데이트되도록 합니다. (Ie8bfa, b/229079150)
  • https://issuetracker.google.com/issues/226648931의 버그를 수정했습니다. (Ia0a0a, b/226648931)
  • 불필요한 실험용 주석을 삭제했습니다. (I88d7e)

버전 1.0.0-alpha20

2022년 4월 6일

androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20androidx.wear.compose:compose-navigation:1.0.0-alpha20이 출시되었습니다. 버전 1.0.0-alpha20에 포함된 커밋을 확인하세요.

새로운 기능

  • SwipeToDismissedgeSwipeToDismiss 수정자를 추가합니다. swipeToDismiss가 표시 영역의 왼쪽 가장자리에서만 활성화되도록 허용합니다. 지도를 2D 스크롤하거나 페이지 간에 가로로 스와이프하는 등 화면 중앙에서 가로 페이징을 처리할 수 있어야 하는 경우 사용됩니다. (I3fcec, b/200699800)

API 변경사항

  • CurvedModifiers 기본 구현을 사용하면 곡선 콘텐츠를 맞춤설정하는 방법을 소개할 수 있습니다. 그러나 CurvedModifiers는 아직 제공되지 않으며 맞춤 수정자를 만드는 기능은 나중에 사용할 수 있습니다. (I9b8df)
  • 이해하기 쉽도록 EdgeSwipe 수정자 문서와 기본값을 업데이트합니다. (I6d00d)
  • PageIndicator 슬롯을 Scaffold에 추가합니다. PageIndicator를 Scaffold에 직접 추가함으로써 원형 기기에 올바르게 표시되도록 할 수 있습니다. (Ia6042)
  • InlineSlider 및 Stepper 매개변수에서 기본 아이콘을 삭제합니다. 이를 통해 개발자는 현지화 및 접근성 요구사항에 더욱 집중할 수 있습니다. 기본 아이콘 사용법은 데모와 샘플에 나와 있습니다. (I7e6fd)
  • TimeText에서 Trailing 및 Leading 매개변수 이름을 Start 및 End로 대체합니다. (Iaac32)
  • 스와이프 동작이 완료될 때 탐색 이벤트를 트리거하는 일반적인 사용을 지원하도록 onDismissed 매개변수가 있는 SwipeToDismissBox 오버로드를 추가했습니다. (I50353, b/226565726)
  • TimeText 사용에서 ExperimentalWearMaterialApi 주석을 삭제했습니다. (Ide520)
  • ScalingLazyList/Column 범위 및 정보 인터페이스는 외부 개발자의 구현을 목적으로 하지 않으므로 봉인됨으로 표시되었으며, 이를 통해 향후 바이너리 브레이킹 체인지 없이 새 멤버를 추가할 수 있습니다. (I7d99f)
  • RSB 지원 추가와 같은 플링 동작을 구성할 수 있도록 선택 도구와 PickerDefaults.flingBehaviour() 메서드에 새 flingBehaviour 속성을 추가했습니다. 이제 PickerStateScrollableState 인터페이스를 구현합니다. (Ib89c7)

버그 수정

  • Wear Compose 라이브러리의 Android 런타임(ART) 기준 프로필 규칙을 업데이트합니다. ART는 기기의 프로필 규칙을 활용하여 애플리케이션의 특정 하위 집합을 미리 컴파일함으로써 애플리케이션 성능을 개선할 수 있습니다. 디버그 가능한 애플리케이션에는 영향을 주지 않습니다. (Iaa8ef)
  • 문서를 업데이트합니다. (I2c051)

버전 1.0.0-alpha19

2022년 3월 23일

androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19androidx.wear.compose:compose-navigation:1.0.0-alpha19가 출시되었습니다. 버전 1.0.0-alpha19에 포함된 커밋을 확인하세요.

API 변경사항

  • CurvedRowCurvedLayout으로 이름을 바꾸고 DSL을 사용하는 범위로 재작업했습니다. 이 DSL을 사용하면 중첩된 curvedRowcurvedColumn(행 및 열에 상응하는 곡선 레이아웃)를 사용하여 좀 더 복잡한 곡선 레이아웃을 지정할 수 있습니다. 이러한 레이아웃 요소 안에서 다음과 같은 세 가지 요소를 사용할 수 있습니다. curvedComposable(@Composable 추가), basicCurvedText(Foundation의 곡선 텍스트), curvedText(Wear 머티리얼 인식 곡선 텍스트) (Ib776a)
  • PositionIndicator의 측면을 구성 가능하도록 합니다. 이제 기본 PositionIndicator의 위치가 End(레이아웃 방향 인식), OppositeRsb(화면 회전을 고려하여 실제 RSB와 반대로 배치됨), 절대 Left 및 Right로 구성될 수 있습니다. (I2f1f3)
  • SwipeToDismissBox의 경우 SwipeDismissTarget.Original을 SwipeToDismissValue.Default로, SwipeDismissTarget.DismissalSwipeToDismissValue.Dismissed로 이름을 바꿨습니다. SwipeToDismissBoxDefaults.BackgroundKeySwipeToDismissBoxDefaults.ContentKey도 각각 SwipeToDismissKeys.Background, SwipeToDismissKeys.Content로 이동했습니다. (I47a36)
  • 선택 도구가 여러 개이며 한 번에 선택 도구 하나만 수정할 수 있는 화면의 경우 읽기 전용 모드를 선택 도구에 추가했습니다. 선택 도구가 읽기 전용인 경우 현재 선택된 옵션과 라벨이 제공된 경우 라벨이 표시됩니다. (I879de)
  • ExperimentalWearMaterialApi 범위를 현재 내부적으로 사용되는 Modifier.swipeableSwipeableState로 제한하도록 SwipeToDismissBoxState를 리팩터링했습니다. 이제 일반적인 사용 사례를 지원하도록 SwipeToDismissBoxStatecurrentValue, targetValue, isAnimationRunning, snapTo 멤버가 있습니다. 추가 속성을 제공해야 하는 경우 알려주시기 바랍니다. 스와이프 오프셋이 앵커의 반올림 오류 내에 있는 경우 발생하는 SwipeableState 동작도 수정했습니다. (I58302)

버그 수정

  • ScalingLazyColumn의 콘텐츠를 스크롤할 수 있는지 감지하도록 코드를 간소화하고 수정했습니다(스크롤바 표시 여부를 결정하는 데 사용됨). (I7bce0)
  • 2개 이상의 상태와 함께 사용되고 이러한 상태 간에 전환될 때 발생하는 위치 표시기의 버그를 수정했습니다. (I320b5)
  • 최신 UX 안내에 맞게 기본 Wear OS용 Compose 테마 서체/글꼴을 업데이트했습니다. 이제 디스플레이1(40.sp) 및 디스플레이2(34.sp)가 이전 값보다 작으며, 줄 높이와 줄 간격을 소규모로 다양하게 업데이트했습니다. (Ie3077)
  • 스와이프하여 닫을 때만 모션이 발생하고 반대 방향으로는 발생하지 않도록 SwipeToDismissBox에 저항을 추가했습니다. (Ifdfb9)
  • Wear Material Design UX 안내에 맞게 CircularProgressIndicator 함수의 기본 매개변수 값을 일부 변경했습니다. Spinner/Indeterminant 버전의 경우 크기(40->24.dp), indicatorColor(기본->onBackground), trackColor 투명도(30%->10%), 획 너비(4->3dp)를 업데이트했습니다. Progress/Determinate 버전의 경우 trackColor 투명도(30%->10%)를 업데이트했습니다. (I659cc)
  • 최신 Wear Material Design UX 사양에 맞게 ScalingLazyColumn의 기본 크기 조정 매개변수를 업데이트했습니다. 이렇게 하면 목록 항목이 목록 중앙에 더 가깝게 크기가 조정되지만 목록 가장자리에서는 이전보다 크기가 조정되지 않습니다. (Ica8f3)
  • 애니메이션의 종료를 개선하기 위해 ScalingLazyColumnDefaults.snapFlingBehavior를 일부 수정했습니다. (If3260)

버전 1.0.0-alpha18

2022년 3월 9일

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

API 변경사항

  • PositionIndicator를 몇 가지 개선했습니다. ShowResult를 PositionIndicatorVisibility로 이름을 바꿨습니다. 필요하지 않은 경우 다시 계산하지 않도록 일부 성능을 개선했습니다. (Iaed9d)
  • SplitToggleChip의 권장 색상을 업데이트했습니다. 이제 SplitToggleChip이 선택되거나 선택 해제될 때 배경이 단색으로 바뀌고 ToggleControl의 색상이 구성요소가 선택되었는지 나타내는 기본 표시가 됩니다. 새로운 색 구성표를 지원하기 위해 새 ToggleDefaults.splitToggleChipColors()를 추가했습니다. 또한 splitBackgroundOverlayColor를 삭제하는 toggleChipColors() 메서드를 단순화했습니다. (I7e66e)
  • 부동 소수점 수학 정밀도로 인해 조정된 크기 및 배율을 사용하여 원래 항목 크기를 계산하는 것이 안전하지 않으므로 ScalingLazyListItemInfo에 unadjustedSize를 추가했습니다. (I54657, b/221079441)
  • HorizontalPageIndicator를 추가합니다. 총 페이지 수와 선택한 페이지를 나타냅니다. 기기의 모양에 따라 선형 또는 곡선일 수 있습니다. 각 표시기가 시각적으로 표현되는 방식을 정의하는 맞춤 표시기 형태도 지원합니다. (Iac898)
  • numberOfOptions를 업데이트할 수 있도록 PickerState를 업데이트했습니다. 월의 일수가 선택한 달에 따라 변경되는 경우 DatePicker와 같은 사용 사례가 지원됩니다. 이에 따라 PickerState의 생성자 매개변수를 initialNumberOfOptions로 변경했습니다. (Iad066)
  • 스크롤바 상태이고 스크롤할 수 없는 경우 PositionIndicator를 숨깁니다. (Id0a7f)
  • Scaffold와의 일관성을 위해 전체 화면 대화상자 구성요소에 이제 PositionIndicatorVignette가 표시됩니다. 또한 이제 Column 대신 ScalingLazyColumn을 사용합니다. 즉, 대화상자 콘텐츠가 이제 ScalingLazyListScope에 있으며 일반적으로 항목 { /* content */ }로 묶어야 합니다. 대화상자는 적절하게 verticalArrangement 매개변수를 지원합니다. (Idea13)
  • 디자이너와 개발자가 API를 탐색하는 데 도움이 되도록 ToggleChipSplitToggleChip toggleIcon 속성의 이름을 toggleControl로 변경하여 Material Design과 더 잘 일치하도록 했습니다. (If5921, b/220129803)
  • Wear Material Theme 유형 분류 체계에 새 항목 caption3를 추가했습니다. caption3는 법적 텍스트와 같이 매우 긴 형식의 글쓰기에 사용되는 작은 글꼴입니다. (I74b13, b/220128356)

버그 수정

  • 메시지가 표시되면 맞추기 애니메이션을 중지합니다. (Idb69d)
  • PositionIndicator의 변경사항을 애니메이션으로 처리합니다. (I94cb9)
  • UI/UX 피드백에 따라 ScalingLazyColumn autoCentering을 변경했습니다. 따라서 색인이 ScalingLazyListState.initialCenterItemIndex 이상인 항목을 표시 영역의 중앙으로 완전히 스크롤할 수 있도록만 충분한 공간을 제공합니다. 이를 통해 개발자는 처음에 중앙에 있는 항목에 관해 한두 개의 항목을 배치할 수 있고 이는 가운데로 스크롤할 수 없습니다. 즉, autoCentering ScalingLazyColumninitialCenterItemIndex/initialCenterItemScrollOffset 위로 스크롤할 수 없습니다. (I22ee2)
  • 날짜 선택 도구의 데모를 추가하고, 선택 도구가 표시될 때까지 initiallySelectedOption이 적용되지 않는 PickerState의 버그를 수정했습니다. (Id0d7e)
  • 원형 화면에서 더 넓은 ScalingLazyColumn 항목의 클리핑을 줄이기 위해 기본 가로 콘텐츠 패딩을 8dp에서 10dp로 늘렸습니다. (I0d609)
  • 스크롤할 때 PositionIndicator가 표시되는지 확인합니다. (Ied9a2)

버전 1.0.0-alpha17

2022년 2월 23일

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

새로운 기능

  • ScalingLazyColumn과 함께 사용할 수 있는 맞추기 지원을 추가했습니다. 맞추기 지원을 사용 설정하려면 flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)를 설정합니다. (I068d3, b/217377069)
  • 24시간 또는 12시간으로 시간 형식을 선택하는 데 사용되는 선택 도구에 관한 데모가 추가되었습니다. (Ie5552)

API 변경사항

  • 정사각형 기기에서 발생하는 TimeText의 맞춤 글꼴 및 스타일 관련 문제를 수정했습니다. (Iea76e)
  • 이제 ScalingLazyListLayoutInfoLazyListLayoutInforeverseLayout, viewportSize 및 방향 속성과 일치하는 속성이 있습니다. (I4f258, b/217917020)
  • 이제 ScalingLazyColumnLazyListuserScrollEnabled와 일치하는 속성이 있습니다. (I164d0, b/217912513)
  • 이제 선택 도구의 상단과 하단에 기본적으로 그라데이션이 표시됩니다. (Iab92a)

버그 수정

  • 더 이상 상위 요소의 공간을 모두 채우지 않도록 ScalingLazyColumn을 수정했습니다. 대신 콘텐츠의 크기에서 크기를 가져옵니다. 이렇게 하면 LazyColumn의 동작과 일치합니다. 이전 동작을 복구하려면 Modifier.fillMaxWidth()/width()/widthIn()ScalingLazyColumn에 전달합니다. (I51bf8)
  • 탐색 백 스택이 비어 있을 때 트리거되는 SwipeDismissableNavHost.kt의 예외 메시지를 개선했습니다. (I1b1dc)

버전 1.0.0-alpha16

2022년 2월 9일

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

새로운 기능

  • CircularProgressIndicator를 추가합니다. 진행률 표시기에 프로세스의 길이 또는 지정되지 않은 대기 시간이 표시됩니다. 전체 화면으로 사용된다면 TimeText 또는 기타 구성요소의 간격(컷아웃)을 지원합니다. (Iab8da)

API 변경사항

  • 이제 선택 도구에 flingBehavior 매개변수가 있으며 기본값으로 인해 스크롤/플링 시 가장 가까운 옵션으로 맞춰집니다. (I09000)
  • InlineSlider 및 Stepper용 추가 정수 API (I1b5d6)

버그 수정

  • ScalingLazyListState의 기본 initialCenterItemIndex를 0에서 1로 변경했습니다. 즉, ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =)를 사용하여 상태 구성에서 재정의되지 않으면 두 번째 목록 항목(색인 == 1)이 초기화 시 표시 영역의 중앙에 배치되고 첫 번째(색인 == 0) 항목이 그 앞에 배치됩니다. 이를 통해 대부분의 표시 영역이 목록 항목으로 채워지므로 처음부터 기본적으로 더 나은 시각적 효과를 적용할 수 있습니다. (I0c623, b/217344252)
  • Google에서는 그릴 목록 항목이 많이 있는지(일부 목록 항목의 크기를 축소할 때에도) 확인하려고 제공되는 ScalingLazyColumn 기본 extraPadding을 10%에서 5%로 줄였습니다. 이렇게 하면 표시 영역에 표시되지 않을 수 있는 추가 목록 항목이 작성되는 것을 방지할 수 있습니다. 비표준 scalingParams를 사용하는 경우(예: 좀 더 극단적인 확장) 개발자는 viewportVerticalOffsetResolver를 사용하여 추가 패딩을 조정할 수 있습니다. (I76be4)
  • 정사각형 기기에서 여러 줄에 발생하는 TimeText 문제를 해결했습니다. (Ibd3fb)
  • 더 이상 상위 요소의 공간을 모두 채우지 않도록 ScalingLazyColumn을 수정했습니다. 대신 콘텐츠의 크기에서 크기를 가져옵니다. 이렇게 하면 LazyColumn의 동작과 일치합니다. 이전 동작을 복원하려면 Modifier.fillMaxSize()ScalingLazyColumn에 전달합니다. 참고: 이 변경사항은 불완전하며 다음 알파 버전의 후속 변경사항에서 해결될 예정입니다. (I3cbfa)

버전 1.0.0-alpha15

2022년 1월 26일

androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15androidx.wear.compose:compose-navigation:1.0.0-alpha15가 출시되었습니다. 버전 1.0.0-alpha15에 포함된 커밋을 확인하세요.

API 변경사항

  • ScalingLazyColumn에 새로운 속성인 autoCentering이 추가되었습니다. true인 경우(기본값) 첫 번째와 마지막을 포함한 모든 항목이 목록 표시 영역 중앙에 표시되도록 스크롤할 수 있습니다. 자동 가운데 정렬을 사용하는 경우 세로 콘텐츠 패딩을 0.dp로 설정하는 것이 좋습니다. autoCentering과 세로 콘텐츠 패딩이 모두 제공되는 경우 두 항목 모두 첫 번째 및 마지막 목록 항목 이후에 추가 공간을 사용할 수 있게 되어 추가적인 스크롤이 가능해집니다. (I2a282, b/214922490)
  • 컴포저블이 다른 콘텐츠 위에 배치되는 전체 화면 대화상자를 트리거할 수 있도록 하는 Dialog 구성요소를 추가했습니다. 이 대화상자가 표시되면 스와이프하여 닫을 수 있으며 스와이프 동작이 진행되는 동안 상위 항목이 백그라운드에 표시됩니다. 대화상자 콘텐츠는 Alert 또는 Confirmation(이전 구성요소 AlertDialogConfirmationDialog에서 이름이 바뀜)이어야 하며, Alert, Confirmation, Dialog는 모두 androidx.wear.compose.material.dialog 패키지에 포함되어 있습니다. 알림 및 확인은 탐색 대상으로 사용할 수 있습니다. 또한 필요에 따라 알림 및 확인 매개변수에 ColumnScope를 추가했습니다. (Ia9014)
  • Wear OS용 Compose Material Theme 색상에서 onSurfaceVariant2가 삭제되었으며 라이브러리 용도가 onSurfaceVariant로 대체되었습니다. (Icd592)
  • PickerState에서 옵션을 프로그래매틱 방식으로 선택하는 메서드를 추가했습니다. 이제 PickerState를 만들 때 처음에 선택한 옵션도 지정할 수 있습니다. (I92bdf)
  • ScalingLazyColumn의 플링 동작을 맞춤설정할 수 있는 지원을 추가했습니다. (I1ad2e, b/208842968)
  • Wear.Compose.Navigation 라이브러리에 NavController.currentBackStackEntryAsState()를 추가했습니다. (If9028, b/212739653)
  • 측면 버튼이 회전하는 Wear 기기를 대상으로 Modifier.onRotaryScrollEvent()Modifier.onPreRotaryScrollEvent()가 추가되었습니다. (I18bf5, b/210748686)

버전 1.0.0-alpha14

2022년 1월 12일

androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14androidx.wear.compose:compose-navigation:1.0.0-alpha14가 출시되었습니다. 버전 1.0.0-alpha14에 포함된 커밋을 확인하세요.

새로운 기능

  • 개발자가 특정 목록 항목으로 스크롤하고 초기 목록 항목 및 오프셋을 설정하는 작업을 제어할 수 있도록 ScalingLazyListState에 다양한 메서드를 추가했습니다.

    이러한 변경사항이 도입됨에 따라 ScalingLazyList 표시 영역의 시작 부분이 아닌 가운데를 향하도록 ScalingLazyList가 수정되었습니다.

    표시 영역의 중심선에 가운데(ScalingLazyListAnchorType.ItemCenter)를 맞춰야 하는지 아니면 Edge(ScalingLazyListAnchorType.ItemStart)를 맞춰야 하는지 제어할 수 있도록 새 속성 anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenterScalingLazyList에 추가되었습니다.

    따라서 ScalingLazyListItemInfo.offsetScalingLazyListItemInfo.adjustedOffset이 변경되었으며 이제 목록 항목의 위치 및 목록의 anchorType 모두와 관련하여 항목의 오프셋을 반영합니다. 예를 들어 anchorTypeItemCenterScalingLazyColumn 및 표시 영역 중심선에 목록 항목의 가운데가 배치된 경우 오프셋은 0입니다.

    새로운 메서드는 scrollTo, animatedScrollTo, centerItemIndex, centerItemOffset입니다. (I61b61)

  • 뒤로 버튼 핸들러를 SwipeDismissableNavHost에 추가하여 '뒤로'를 누르면 탐색 계층 구조의 이전 수준으로 이동합니다. (I5b086, b/210205624)

버전 1.0.0-alpha13

2021년 12월 15일

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

API 변경사항

  • RangeIcons를 내부로 이동했습니다(InlineSliderStepper에서 내부적으로 참조함). (I927ec)

버그 수정

  • SwipeDismissableNavHostCREATED 수명 주기 상태에 도달하기 전에 Compose 계층 구조에 대상을 추가하여 IllegalStateException이 발생하는 문제가 수정되었습니다. 이 수정사항은 navigation-compose의 종속 항목을 2.4.0-beta02 이상으로 업데이트하기 위한 필수 조건이었습니다. (I40a2b, b/207328687)

  • Wear Compose 라이브러리 내에서 드로어블 리소스를 가져오기 위해 드로어블 enum 클래스를 추가했으므로 리플렉션이 더 이상 필요하지 않습니다. minifyEnabled=true 또는 shrinkResources=true일 때 라이브러리 드로어블이 삭제되던 버그가 수정되었습니다. (Ib2a98)

  • Wear Compose에서 Stepper에 대한 테스트를 추가했습니다. (I2d03a)

  • Wear Compose 탐색에서 SwipeDismissableNavHost 샘플을 추가했습니다. (I85f06)

버전 1.0.0-alpha12

2021년 12월 1일

androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12androidx.wear.compose:compose-navigation:1.0.0-alpha12가 출시되었습니다. 버전 1.0.0-alpha12에 포함된 커밋을 확인하세요.

새로운 기능

  • 사용자가 다양한 값 중에서 선택할 수 있도록 스테퍼 구성요소를 추가했습니다. 스테퍼는 전체 화면 컨트롤로, 상단과 하단에 증가 버튼과 감소 버튼이 있고 중간에 슬롯이 있습니다(칩이나 텍스트를 사용할 것으로 예상됨). 버튼 아이콘은 필요한 경우 맞춤설정할 수 있습니다. (I625fe)

  • 대화상자를 표시하는 새로운 컴포저블 2개를 추가했습니다. AlertDialog는 사용자의 응답을 기다린 후 제목, 아이콘, 메시지를 표시하고 a) 간단한 긍정/부정 선택의 경우 버튼 두 개, b) 좀 더 유연한 선택의 경우 세로로 나열된 칩이나 전환 칩을 표시합니다. ConfirmationDialog는 시간 제한이 적용된 확인 메시지를 표시합니다. 이 간단한 대화상자에는 제목과 애니메이션 아이콘을 위한 슬롯이 있습니다. (Ic2cf8)

API 변경사항

  • 추천 대화상자 지속 시간 값에 단위(밀리초)가 추가됩니다. (I09b48)

버전 1.0.0-alpha11

2021년 11월 17일

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

새로운 기능

  • 사용자가 스크롤 목록에서 항목을 선택할 수 있도록 선택 도구 구성요소를 추가했습니다. 기본적으로 선택 가능한 항목 목록은 양방향으로 '무제한' 반복되므로 회전하는 원통을 측면에서 보는 것과 같을 수 있습니다. 향후 버전에서는 스와이프/플링 후 값에 맞추는 기능, PickerState에 함수를 추가하여 현재 값으로 설정/스크롤하는 기능이 추가될 예정입니다. (I6461b)

API 변경사항

  • 목록 항목의 크기가 상위 컨테이너의 크기에 따라 지정될 수 있도록 ScalingLazyItemScope 및 일부 새로운 수정자 fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight를 추가했습니다. 항목은 상위 요소 크기의 전부 또는 일부를 채우도록 설정할 수 있습니다. 이렇게 하면 이미 LazyRow/Column에서 사용할 수 있는 기능이 노출됩니다. (I4612f)
  • 항목에서 키를 보유할 수 있도록 ScalingLazyColumn 지원을 추가했습니다. 배열 및 목록에서 항목을 추가할 수 있도록 편의 메서드도 추가했습니다. (Ic1f89)

버그 수정

  • 추가 TimeText 예 (I8cb64)

버전 1.0.0-alpha10

2021년 11월 3일

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

새로운 기능

  • Wear Compose용 InlineSlider를 추가했습니다. InlineSlider를 사용하면 사용자가 값 범위에서 선택할 수 있습니다. 선택 범위는 해당 범위의 최솟값과 최댓값 사이의 막대로 표시되며, 사용자가 하나의 값을 선택할 수 있습니다. (If0148)

  • WearOS Codelab의 새 Compose를 확인하세요.

API 변경사항

  • 이제 Macrobenchmark의 minSdkVersion23입니다. (If2655)

버그 수정

  • SideEffect에서 SwipeDismissableNavHost의 전환 처리가 업데이트되었습니다. (I04994, b/202863359)
  • SwipeDismissableNavHost에서 전환 처리가 업데이트되었습니다. (I1cbe0, b/202863359)

버전 1.0.0-alpha09

2021년 10월 27일

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

새로운 기능

  • Wear OS에 Compose의 개발자 프리뷰를 출시했습니다. 기본 컴포저블을 검토하고 기본 컴포저블 사용 시작을 위한 추가 리소스 링크를 제공하는 블로그 게시물을 확인하세요.

API 변경사항

  • 개발자가 Wear Material Design 색상 테마의 모든 색상을 맞춤설정할 수 있도록 하는 지원을 추가했습니다. (I4759b, b/199754668)

버그 수정

  • 상태를 유지하는 SwipeToDismissBox 샘플을 추가했습니다. (Ibaffe)
  • CurvedText, TimeText 및 SwipeToDismissBox용 KDocs에서 developer.android.com 가이드로 연결되는 링크를 추가했습니다. (I399d4)
  • 이제, 현재 대상이 없으면 SwipeDismissableNavHost가 발생합니다(NavGraph가 wear.compose.navigation.composable 유틸리티 함수를 사용하여 빌드되지 않았음을 나타냄). (I91403)
  • TimeText의 시간 소스 사용에 관한 추가 문서 및 예를 추가했습니다. (I4f6f0)

버전 1.0.0-alpha08

2021년 10월 13일

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

API 변경사항

  • AppCard와 TitleCard body 속성의 이름을 content로 바꾸고 후행 람다로 제공할 수 있도록 속성 목록 끝으로 이동했습니다. 또한 새 슬롯 이름과 일관성을 유지하기 위해 bodyColor의 이름을 contentColor로 바꾸었습니다. (I57e78)

버그 수정

  • 버튼, 카드, 칩, 테마, 위치 표시기, 지연 열 구성요소 확장과 관련하여 KDoc에서 developer.android.com 가이드로 연결되는 링크를 추가했습니다. (I22428)
  • WearOS SwipeToDismissBox가 때때로 스와이프를 처리하지 않는 문제를 수정했습니다. (I9387e)
  • Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip의 샘플을 추가했습니다. (Iddc15)
  • Card, Chip, ToggleChip, TimeText and ScalingLazyColumn의 microbenchmark 성능 테스트를 추가했습니다. (If2fe9)

버전 1.0.0-alpha07

2021년 9월 29일

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

새로운 기능

  • 머티리얼에 CurvedText 구성요소를 추가했습니다. 이 구성요소를 통해 개발자는 원의 곡선(일반적으로 원형 화면의 가장자리)에 따라 구부러진 텍스트를 쉽게 쓸 수 있습니다. (I19593)

API 변경사항

  • TimeText용 테스트를 추가했습니다. (Idfead)
  • ArcPaddingValues를 인터페이스로 변환합니다. (Iecd4c)
  • SwipeToDismissBox에 애니메이션을 추가했습니다. (I9ad1b)
  • 표시할 백그라운드 콘텐츠가 없을 때 스와이프 동작을 사용 중지할 수 있도록 SwipeToDismissBox API에 hasBackground 매개변수를 추가했습니다. (I313d8)
  • 이제 rememberNavController()는 반환된 NavController에 추가될 선택적 Navigator 인스턴스 집합을 사용하여 선택적 탐색기(예: Accompanist 탐색 Material의 탐색기)를 더 효율적으로 지원합니다. (I4619e)
  • navigation-common에서 NamedNavArgument를 참조하고 wear.compose.navigation에서 사본을 삭제합니다. (I43af6)

버그 수정

  • 소형 기기에서 CurvedRow 테스트 결함을 수정했습니다. (If7941)
  • 콘텐츠가 업데이트될 때 CurvedRow에서 있을 수 있는 깜박임을 수정했으며 곡선 행이 다시 측정되도록 합니다. (Ie4e06)
  • ChipDefaults.gradientBackgroundChipColors()가 UX 사양 변경에 따라 업데이트되었습니다. 이제 그라데이션이 MaterialTheme.colors.primary(알파 32.5%)로 시작되고 MaterialTheme.colors.surface(알파 75%) 배경에서 MaterialTheme.colors.surface(알파 0%)로 끝납니다. (Id1548)
  • 선택 상태일 때의 ToggleChips의 색상이 최신 Wear Material Design UX 사양 안내와 일치하도록 업데이트했습니다. 이제 선택 상태일 때 ToggleChips의 그라데이션 배경은 왼쪽 상단 MaterialTheme.color.surface(알파 0%)로 시작하고 MaterialTheme.color.surface(알파 75%) 배경에서 오른쪽 하단 MaterialTheme.color.primary(알파 32%)로 끝납니다. 이에 따라 선택된 상태의 ToggleChip과 선택 해제된 상태의 ToggleChip 사이에 더 미묘한 차이가 발생합니다. (Idd40b)

버전 1.0.0-alpha06

2021년 9월 15일

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

새로운 기능

  • Scaffold를 추가했습니다. 최상위 수준 애플리케이션 컴포저블로, 스크롤 또는 볼륨 등 PositionIndicators 위치를 처리하는 구조와 시간 및 애플리케이션 상태를 표시하는 화면 상단의 영역을 제공하고 스크롤 가능한 콘텐츠를 위해 화면 상단과 하단 가장자리를 흐리게 처리하는 비네트도 지원합니다. Scaffold의 기본 영역은 애플리케이션 콘텐츠가 배치되는 위치입니다. (I5e0bf)
  • Wear Compose용 TimeText 구현을 추가했습니다. (I5654c)

Wear Compose Navigation 라이브러리

  • Wear Compose Navigation 라이브러리의 첫 번째 버전을 추가했습니다. Wear Compose와 Androidx Navigation 라이브러리 간의 통합을 제공하고 애플리케이션의 대상으로 @Composable 함수 간에 이동하는 간단한 방법을 제공합니다.

  • 이번 최초 출시에서는 다음 기능을 제공합니다.

    • 탐색 그래프를 호스팅하고 스와이프 동작을 통해 뒤로 탐색을 제공하는 SwipeDismissableNavHost 컴포저블
    • 탐색 그래프 구성을 지원하는 NavGraphBuilder.composable 확장 프로그램
    • 상태 호이스팅을 허용하는 rememberSwipeDismissableNavController()
  • 두 화면을 만들고 화면 간에 이동하는 사용 예는 다음과 같습니다.

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • Wear Compose Navigation은 별도의 라이브러리로 패키징됩니다. 따라서 자체 수동 탐색을 구현하는 간단한 WearCompose 애플리케이션이 Androidx Navigation 라이브러리에 종속될 필요가 없습니다.

API 변경사항

  • 백그라운드 및 콘텐츠의 키 ID를 설정하여 rememberSaveable을 지원하도록 SwipeDismissableNavHost를 업데이트했습니다. (I746fd)
  • LazyListState를 처리할 수 있는 PositionIndicator 어댑터를 추가했습니다. (I21b88)
  • rememberSaveable을 지원하도록 SwipeToDismissBox를 업데이트했습니다. (Ie728b)
  • ScalingLazyColumn에 reverseLayout 지원을 추가했습니다. 이를 통해 스크롤 및 레이아웃 방향을 반대로 할 수 있습니다. (I9e2fc)
  • performGestureGestureScope은 지원 중단되었으며 performTouchInputTouchInjectionScope으로 대체되었습니다. (Ia5f3f, b/190493367)
  • VignetteValue를 VignettePosition으로, VignetteValue.Both를 VignettePosition.TopAndBottom으로 이름을 바꿨습니다. (I57ad7)
  • 향후 ScalingLazyRow 구현을 추가할 경우에 대비하여 ScalingLazyColumnState를 ScalingLazyListState로, ScalingLazyColumnItemInfo를 ScalingLazyListItemInfo로, ScalingLazyColumnLayoutInfo를 ScalingLazyListLayoutInfo로, ScalingLazyColumnScope을 ScalingLazyListScope으로 이름을 바꿨습니다. (I22734)

버그 수정

  • 아이콘과 라벨이 모두 제공되지 않으면 발생하는 내용을 설명하도록 CompactChip 문서를 업데이트했습니다. (I4ba88)
  • Wear 카드 구성요소를 일부 수정했습니다. (I6b3d0)
    1. 제목과 본문 사이의 TitleCard 간격을 8.dp에서 2.dp로 줄였습니다.
    2. TitleCard 헤더 글꼴을 본문에서 title3으로 변경했습니다.
    3. 카드 배경 그라데이션을 배경이 더 어두워 보이도록 변경했습니다.

버전 1.0.0-alpha05

2021년 9월 1일

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

API 변경사항

  • ArcPaddingValues를 @Stable로 표시합니다. (I57deb)
  • 이제 ScalingLazyColumnState가 ScrollableState 인터페이스를 구현하여 개발자에게 구성요소를 스크롤할 수 있는 프로그래매틱 액세스 권한을 제공합니다. (I47dbc)

버그 수정

  • 칩과 ToggleChip에서 아이콘과 텍스트 사이 간격을 줄여 UX 사양 업데이트와 일치하도록 했습니다. (I83802)

버전 1.0.0-alpha04

2021년 8월 18일

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

새로운 기능

  • 왼쪽에서 오른쪽으로 스와이프하여 닫기 동작을 지원하는 데 사용할 수 있는 SwipeToDismissBox와 스와이프할 수 있는 수정자를 추가했습니다. 탐색 구성요소와는 관계가 없지만 한 화면을 종료하고 다른 화면으로 이동하는 데 사용될 것으로 예상됩니다. 스와이프하여 닫기 데모에 통합 테스트를 추가했습니다. (I7bbaa)
  • 개발자가 크기 조정이 적용된 후 ScalingLazyColumn에 있는 항목의 실제 위치와 크기를 알 수 있도록 ScalingLazyColumnItemInfo 및 ScalingLazyColumnLayoutInfo 인터페이스를 ScalingLazyColumnState 클래스에 추가했습니다. '상단' 콘텐츠 패딩이 ScalingLazyColumn에 적용될 때 크기 조정이 계산되는 방식과 관련된 버그를 수정했습니다. (I27c07)

API 변경사항

  • CurvedTextStyle 클래스를 추가하여 곡선 텍스트 스타일 지정 옵션을 지정합니다. TextStyle과 비슷하지만 현재 색상, 글꼴 크기, 배경만 지원합니다. 향후 더 많은 스타일 지정 옵션이 추가될 예정입니다. (I96ac3)
  • 개발자가 크기 조정이 적용된 후 ScalingLazyColumn에 있는 항목의 실제 위치와 크기를 알 수 있도록 ScalingLazyColumnItemInfo 및 ScalingLazyColumnLayoutInfo 인터페이스를 ScalingLazyColumnState 클래스에 추가했습니다. '상단' 콘텐츠 패딩이 ScalingLazyColumn에 적용될 때 크기 조정이 계산되는 방식과 관련된 버그를 수정했습니다. (I27c07)
  • SwipeToDismissBox API의 일부인 SwipeDismissTarget enum에 @ExperimentalWearMaterialApi를 추가했습니다. (I48b5e)

버그 수정

  • SwipeToDismissBox의 테스트 자료를 추가했습니다. (I9febc)

버전 1.0.0-alpha03

2021년 8월 4일

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

API 변경사항

  • 개발자가 원의 곡선(일반적으로 원형 화면의 가장자리)을 따라 쉽게 텍스트를 쓸 수 있는 CurvedText 구성요소를 추가했습니다. (Id1267)
  • 배경 이미지 위에 스크림이 그려져 있음을 명확히 하도록 CardDefaults.imageBackgroundPainter()CardDefaults.imageWithScrimBackgroundPainter()로 이름을 바꿨습니다. (I53206)
  • 구성요소의 가장자리를 향해 확장될 때 목록 콘텐츠의 크기가 축소되고 투명해지는 어안 뷰를 제공하는 Wear Material의 목록 구성요소를 제공하는 ScalingLazyColumn 구성요소를 추가했습니다. (I7070c)

버그 수정

  • UX 사양 업데이트에 따라 AppCard에서 appName 콘텐츠의 기본 색상을 변경했습니다. appName의 기본 색상은 이제 MaterialTheme.colors.onSurfaceVariant입니다. 또한 제목 슬롯의 누락된 매개변수 문서 설명을 추가했습니다. (Ic4ad1)

버전 1.0.0-alpha02

2021년 7월 21일

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

새로운 기능

  • 호에 컴포저블을 배치하기 위해 새 클래스 CurvedRow를 추가했습니다. (I29941)
  • 애플리케이션에서 사용할 수 있는 새로운 유형의 카드(TitleCard)가 추가되었으며, 카드 배경으로 이미지를 사용하여 콘텐츠를 강조하기 위한 지원이 추가되었습니다. (I53b0f)

API 변경사항

  • CurvedRow에 방사형 정렬 지원을 추가합니다(행의 세로 정렬과 유사함). (Id9de5)
  • 호에 컴포저블을 배치하기 위해 새 클래스 CurvedRow를 추가했습니다. (I29941)
  • 애플리케이션에서 사용할 수 있는 새로운 유형의 카드(TitleCard)가 추가되었으며, 카드 배경으로 이미지를 사용하여 콘텐츠를 강조하기 위한 지원이 추가되었습니다. (I53b0f)
  • ToggleChipDefaults으로의 전환 아이콘(체크박스, 스위치, 라디오 버튼)을 추가하여 개발자가 ToggleChip 및 SplitToggleChips를 구성하기가 더 쉬워졌습니다. (I7b639)
  • 칩에 아이콘이 있는지 여부와 관계없이 일관되게 14.dp이므로(이전에는 아이콘이 존재하면 12.dp, 존재하지 않으면 14.dp였음) 칩에 대한 시작 및 종료 콘텐츠 패딩이 업데이트되었습니다. (I34c86)

버그 수정

  • CurvedRow 테스트를 추가합니다. (I93cdb)
  • Wear Compose 종속 항목을 Compose 1.0.0-rc01에 연결합니다. (Ie6bc9)
  • 이미지 비율을 유지하기 위해 이미지가 늘어나지 않고 잘리도록 카드 및 칩의 배경 이미지 페인팅 손동작을 변경했습니다. (I29b41)
  • Button과 ToggleButton을 위한 데모 및 통합 테스트를 더 많이 추가했습니다. (5e27ed2)
  • imageBackgroundChips의 콘텐츠 색상을 처리하기 위해 더 많은 칩 테스트가 추가되었습니다. (Ia9183)

버전 1.0.0-alpha01

2021년 7월 1일

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

새로운 기능

Wear Compose는 Kotlin을 사용하는 Compose 기반 라이브러리로 WearOS 웨어러블 기기용 Material Design의 확장인 Wear Material Design을 지원합니다. 이 첫 번째 알파 버전에는 다음의 초기 기능 구현이 포함되어 있습니다.

  • Material Theme - 이 라이브러리에서 사용되는 구성요소 전체에 걸쳐 색상, 서체, 모양을 일관되게 구성합니다.
  • Chip, CompactChip - 칩은 경기장 모양이고 변형은 아이콘, 라벨 및 보조 라벨 콘텐츠를 사용할 수 있습니다.
  • - ToggleChip, SplitToggleChip - 라디오 버튼 또는 체크박스와 같은 두 가지 상태 전환 아이콘에 관한 슬롯을 포함하는 특수한 유형의 칩입니다. 또한, SplitToggleChip은 탭 가능한 영역이 두 개 있는데, 하나는 클릭 가능하고 하나는 전환 가능합니다.
  • Button, CompactButton - 버튼은 원형이며 아이콘에 관한 단일 콘텐츠 슬롯 또는 최소한의 텍스트(최대 3자)를 포함합니다.
  • ToggleButton - 작업을 사용 설정하거나 중지하는 버튼으로 아이콘에 관한 단일 슬롯 또는 최소한의 텍스트(최대 3자)를 포함합니다.
  • Card, AppCard - 모서리가 둥근 직사각형으로, 앱 아이콘, 시간, 제목, 본문 등의 콘텐츠에 관한 슬롯을 제공합니다.

향후 출시 버전에서는 Wear Material Design 선택 도구, 슬라이더, 목록, 페이지 표시기, 대화상자, 스크롤 RSB 표시기, 토스트 메시지 등을 위한 지원이 추가된 위젯 세트가 확장됩니다.

또한, 개발자가 웨어러블 앱/오버레이를 쉽게 빌드할 수 있도록 하는 것과 함께 곡선 레이아웃 및 텍스트와 같은 다른 웨어러블 전용 기능에 관련된 지원을 제공합니다.

Wear Compose Material은 웨어러블을 대상으로 하지만, Compose Material과 동일한 원칙으로 설계되었습니다. 웨어러블 기기용으로 빌드할 때는 Compose Material 라이브러리 대신 Wear Compose Material 라이브러리를 사용해야 합니다.

두 'Material' 라이브러리는 상호 배타적인 것으로 간주해야 하며 하나의 앱에서 혼합해서는 안 됩니다. 개발자가 종속 항목 중에 Compose Material 라이브러리가 포함된 것을 발견했다면 이는 a) Wear Compose Material 라이브러리에서 누락된 구성요소가 있거나(이 경우 필요한 구성요소를 Google에 알려야 함) b) 웨어러블 기기에 권장하지 않는 구성요소를 사용하고 있는 것입니다.