Wear Compose

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

종속 항목 선언

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

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

Groovy

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

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

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

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.3.1")
    
    // 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.3.1")

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

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

    // 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-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에 포함된 커밋을 확인하세요.

새로운 기능

  • Button과 동일하게 채워진 색상, 채워진 색조 및 윤곽선 색상을 사용할 수 있는 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)
  • wear:compose-materialwear:compose-material3 라이브러리에 지원 중단된 rememberRipple를 대체하는 새 물결 효과 API가 추가되었습니다. Material 구성요소를 지원 중단된 rememberRipple/RippleTheme API를 사용하도록 되돌리도록 임시 CompositionLocal, LocalUseFallbackRippleImplementation도 추가합니다. 이는 다음 안정화 버전에서 삭제될 예정이며, 맞춤 RippleTheme를 제공하는 경우를 위한 일시적인 이전 지원만을 목적으로 합니다. 이전 정보 및 이 변경사항에 관한 추가 배경 정보는 developer.android.com을 참고하세요. 추가했습니다. (af92b21)
  • HorizontalPageIndicator API 및 관련 문서를 약간 개선했습니다. 추가했습니다. (I60efc)
  • ColorScheme를 변경할 수 없도록 업데이트하여 개별 색상 업데이트 효율성이 떨어지지만 더 일반적인 색상 사용의 효율성을 더 높였습니다. 이러한 변경의 이유는 대부분의 앱이 주요 사용 사례로 개별 색상을 업데이트하지 않기 때문입니다. 이 방법은 여전히 가능하지만 이전보다 더 많이 재구성될 것입니다. 결과적으로 모든 머티리얼 코드를 통해 상태 구독의 양이 크게 줄어들고 더 많은 표준 사용 사례의 초기화와 런타임 비용에 영향을 미칠 것입니다. 추가합니다. (Ibc2d6)
  • 사용 중지된 색상을 맞춤설정할 수 있도록 ToggleButtonSplitToggleButton API를 업데이트했습니다. 또한 이제 Material Design 토큰이 색상 및 서체 값에 사용됩니다. 추가합니다. (If087c)
  • 머티리얼 디자인 토큰을 사용하도록 버튼 이미지 배경 색상을 업데이트했습니다. 추가했습니다. (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 변경사항

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

버그 수정

  • 성능 향상을 위해 Material3 버튼의 머티리얼 코어 레이어를 삭제했습니다. 추가했습니다. (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 디자인 토큰을 사용하도록 Buttons 코드를 업데이트합니다. 추가했습니다. (I92fe4)
  • 사용자 인터페이스의 세부정보가 아직 완성되는 중이므로 Wear Material 3 Stepper 및 Slider API를 실험용으로 선언합니다. 추가했습니다. (I84d54)
  • TextButtonTextToggleButton 원형에서 ExtraSmall 크기를 삭제했습니다. 이 크기가 IconButton에만 적용되기 때문입니다. 추가합니다. (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)
  • 아이콘과 텍스트에 각각 단일 슬롯이 있는 원형 전환 버튼인 IconToggleButtonTextToggleButton을 Material3에 추가했습니다. 다양한 크기의 ToggleButton에는 각 전환 버튼에 제공된 크기와 함께 Modifier.touchTargetAwareSize를 사용하는 것이 좋습니다. 추가했습니다. (I9f015)
  • Material3 구성요소에 ListHeaderListSubheader를 추가했습니다. (이바에페)
  • 새로운 Foundation SwipeToDismissBox를 호출하고 테마에서 기본 색상 값을 제공하는 Material3 SwipeToDismissBox를 추가했습니다. 추가했습니다. (I275fb)
  • Wear Compose에 Material3 InlineSlider를 추가했습니다. 사용자가 값 범위에서 선택할 수 있게 해줍니다. 선택 범위는 해당 범위의 최솟값과 최댓값 사이의 막대로 표시되며, 사용자가 하나의 값을 선택할 수 있습니다. InlineSlider 기기는 볼륨이나 밝기와 같은 설정을 조정하는 데 적합합니다. 추가했습니다. (I7085f)

API 변경사항

  • Shape 대신 RoundedCornerShape 기반을 사용하도록 Wear Material 3 테마의 Shapes를 업데이트했습니다. 추가했습니다. (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에 포함된 커밋을 확인하세요.

새로운 기능

  • 단일 텍스트 슬롯이 있는 원형 버튼인 TextButton를 Material3에 추가했습니다. 다양한 크기의 TextButton에는 TextButtonDefaults에 제공된 Modifier.touchTargetAwareSizeExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize, LargeButtonSizeIcon를 사용하는 것이 좋습니다. 기본 TextButton에는 강조가 낮은 작업을 위해 테두리와 투명한 배경이 없습니다. 높은 강조가 필요한 작업에는 filledTextButtonColors를 사용하고, 중간 강조의 경우 TextButton의 윤곽선을 사용하려면 테두리를 ButtonDefaults.outlinedButtonBorder로 설정합니다. 윤곽선과 채우기 사이의 중간 지점에는 filledTonalTextButtonColors를 사용합니다. 추가했습니다. (I667e4)
  • Wear Compose Material3 라이브러리에 Card, OutlinedCard, AppCard, TitleCard를 추가했습니다. AppCardTitleCard에는 CardDefaults.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에 포함된 커밋을 확인하세요.

새로운 기능

  • 아이콘/이미지를 위한 단일 슬롯이 있는 원형 버튼인 IconButton를 Material3에 추가했습니다. 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 라이브러리에서 칩이라고 했습니다 (Compose Material 3 라이브러리와의 일관성을 위해 Button으로 이름이 바뀜). 기본 Button에는 채워진 배경이 있으며 FilledTonal (음소거된 배경), 윤곽선 (얇은 테두리가 있음) 및 하위 요소 (투명한 배경 및 테두리 없음, 가시도가 가장 낮은 보조 작업에 사용됨)의 버튼 변형이 있습니다. 향후 버전에서는 간단한 아이콘과 텍스트 콘텐츠를 위한 원형 버튼이 추가될 예정입니다.(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에 DefaultTextStyle를 추가했습니다. 기본적으로 PlatformTextStyle.includeFontPadding가 true (현재 설정)로 설정됩니다. 이렇게 하면 향후 글꼴 패딩을 사용 중지하는 것을 기본적으로 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 라이브러리는 상호 배타적이며 예기치 않은 불일치가 발생할 수 있는 서로 다른 테마를 참조하기 때문에 동일한 앱에서 혼합하면 안 됩니다.

버전 1.4

버전 1.4.0-alpha06

2024년 4월 3일

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

버그 수정

  • 로터리 동작을 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)
  • ToggleChipSplitToggleChip의 새 selectionControl 오버로드의 매개변수 이름을 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 변경사항

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

버그 수정

  • 수명 주기 인식 리스너를 사용하도록 ReduceMotion 설정을 업데이트했습니다. 추가했습니다. (7c6b122)
  • TouchExplorationStateProvider의 리스너가 수명 주기를 인식하도록 업데이트했습니다. (be28b01)
  • 성능을 개선하기 위해 CompactButton의 Materialcore 레이어를 삭제했습니다. (25db8e9)
  • 예외를 방지하기 위해 BasicSwipeToDismissBox가 NaN 오프셋에 더 강력해졌습니다. (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 큰 도형을 업데이트했으며 이제 칩과 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의 새로운 SwipeToRevealCardSwipeToRevealChip 컴포저블이 있습니다. 이 컴포저블은 CardChip에 관한 권장 UX 안내를 따릅니다. 또한 보조 작업의 실행취소 기능도 지원됩니다.
  • 이제 DefaultTextStyle가 Android 플랫폼 전체에서 일관성을 유지하기 위해 글꼴 패딩을 사용 중지합니다.
  • 이제 ChipToggleChip가 접근성을 위해 큰 글꼴로 인해 커진 콘텐츠를 수용할 수 있도록 높이를 조정합니다.
  • 이제 PositionIndicator에 페이드 인, 페이드 아웃, 위치 변경 애니메이션에 관한 개별 애니메이션 사양이 있습니다. 스크롤 가능한 목록과 함께 사용할 때는 성능상의 이유로 페이드 인 및 위치 변경을 사용 중지하는 것이 좋습니다.
  • ExpandableStateMapping@Composable 범위를 사용하지 않아도 주문형으로 만들어야 할 때 ExpandableStates를 생성하는 새로운 방법을 제공합니다.
  • 이제 Placeholder에서 콘텐츠가 더 이상 준비 상태가 아닌 경우 재설정을 허용합니다. 또한 이제 모션 감소 설정이 Placeholder의 빛나는 효과와 와이프오프 모션에 적용됩니다.

알려진 문제

  • PositionIndicator는 화면이 처음 표시될 때 처음에 표시되지 않습니다. 초기 1.4 알파 버전을 변경하여 처음에는 애니메이션 없이 표시되도록 할 계획입니다.

API 변경사항

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

버그 수정

  • 크기가 제한될 때 제한된 곡선 텍스트로 인해 트리거되는 버그를 수정했습니다. (I50efe)
  • curvedComposable와 관련된 잠재적인 NaN 비정상 종료 문제를 해결했습니다. (I970eb)
  • PositionIndicator의 위치 변경 강조 표시 애니메이션 삭제를 되돌렸습니다. 추가했습니다. (Ieb424)
  • 성능을 개선하기 위해 머티리얼 칩의 머티리얼 코어 레이어를 삭제했습니다. 추가합니다. (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가 독립형 표시기로 사용되는 경우(예: 볼륨 변경) 3개의 애니메이션을 모두 사용 설정하는 것이 좋습니다. 추가했습니다. (I44294)
  • 스와이프하여 닫기 기능을 wear.compose.foundation로 이전한 후 Material SwipeToDismissBoxState, SwipeToDismissValue, edgeSwipeToDismiss를 지원 중단했습니다. wear.compose.foundation에 상응하는 항목으로 교체하세요. 추가했습니다. (Iee8c9)

버그 수정

  • Wear Compose 기초, Material, 탐색 라이브러리의 기준 프로필을 업데이트했습니다. 추가했습니다. (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, showFadeOutAnimationshowPositionAnimation 에 개별 플래그를 추가했습니다. 이전 API는 지원 중단되었으며 호출을 새 API로 전달합니다. 성능상의 이유와 UX 일관성을 위해 PositionIndicator가 스크롤 가능한 목록과 함께 사용될 때는 showFadeInAnimationshowPositionAnimation 플래그를 사용 중지하는 것이 좋습니다. PositionIndicator가 독립형 표시기로 사용되는 경우(예: 볼륨 변경) 3개의 애니메이션을 모두 사용 설정하는 것이 좋습니다. 추가했습니다. (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 변경사항

  • ExpandableStates를 생성하는 새로운 방법인 ExpandableStateMapping를 제공했습니다. 이는 주문형으로 생성되어야 하는 경우를 위해 @Composable 범위 내에 있을 필요는 없습니다. (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 기초 및 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 - 쉬머 및 'Wipe Off' 애니메이션을 업데이트했습니다. 이제 콘텐츠가 준비되면 와이프오프 효과가 즉시 적용됩니다.
  • 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에 PlatformTextStyle.includeFontPadding 속성의 기본값을 true로 설정하는 DefaultTextStyle를 추가했습니다 (현재 설정). 이렇게 하면 글꼴 패딩을 사용 중지하는 것을 기본적으로 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 변경사항

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

버그 수정

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

알려진 문제

  • Android 스튜디오에서 @WearPreviewDevices 및 @WearPreviewFontScales로 주석을 달 때 미리보기 렌더링에 실패하는 버그가 발견되었습니다. 이 버그가 곧 출시될 예정입니다. 다른 Wear 미리보기 주석은 Android 스튜디오 Giraffe 2022.3.1 이상에서 의도한 대로 작동합니다.

  • 1.2.0-alpha07 버전에서 Wear Compose에 DefaultTextStyle을 추가하고 기존 PlatformTextStyle.includeFontPadding 값을 true로 유지합니다. 백그라운드의 경우 Compose에서 글꼴 패딩 수정을 참고하세요. Android 플랫폼 전체에서 일관성을 유지하기 위해 DefaultTextStyle을 변경하여 초기 1.3 알파 버전에서 글꼴 패딩을 해제할 예정입니다. 이렇게 하면 글꼴 크기가 큰 텍스트 잘림 문제가 해결되고 화면 레이아웃에 영향을 줄 수도 있으므로 스크린샷 테스트를 업데이트해야 합니다. 예를 들어 글꼴 크기가 큰 경우 다음과 같이 텍스트가 잘립니다.

큰 글꼴 크기로 잘린 텍스트
그림 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)
  • State를 사용하여 색상을 수동으로 애니메이션 처리할 때 추가 리컴포지션을 방지하기 위해 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에 추가됨)를 머티리얼에서 기반으로 이동했습니다. 추가했습니다. (Ib0525)

버그 수정

  • 선택 도구에 포커스가 없을 때 PickerGroup가 포커스를 올바르게 처리하도록 하여 PickerGroup를 사용하여 화면에서 발생하는 비정상 종료 문제를 수정했습니다. 선택 도구 데모에 RSB 스크롤 지원도 추가되었습니다. 추가합니다. (If8c19)
  • 대화상자 전환을 개선했습니다. 이제 인트로 전환이 더 부드러워 아우트로 전환에 맞춰집니다. 추가했습니다. (Ib5af9)
  • Wear Compose에 PlatformTextStyle.includeFontPadding 속성의 기본값을 true로 설정하는 DefaultTextStyle를 추가했습니다 (현재 설정). 이렇게 하면 향후 글꼴 패딩을 사용 중지하는 것을 기본적으로 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)

버그 수정

  • focusEnabled 매개변수에 전달된 람다가 변경될 때 이제 새 매개변수를 올바르게 사용하는 HierarchicalFocusCoordinator의 버그가 수정되었습니다. 추가했습니다. (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-alpha03, androidx.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-alpha20, androidx.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-alpha19, androidx.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-alpha15, androidx.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-alpha14, androidx.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-alpha12, androidx.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-alpha11, androidx.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-alpha10, androidx.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-alpha09, androidx.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-alpha08, androidx.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-alpha06, androidx.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) 웨어러블 기기에 권장하지 않는 구성요소를 사용하고 있는 것입니다.