Wear Compose

  
웨어러블 전용 기기, 크기, 모양 및 탐색 제스처를 지원하는 기능을 제공하여 웨어러블 기기용 Jetpack Compose 애플리케이션을 작성합니다.
최근 업데이트 공개 버전 출시 후보 베타 버전 알파 버전
2022년 7월 27일 1.0.0 - - 1.1.0-alpha02

종속 항목 선언

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

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

Groovy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.1.0-alpha02"

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

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

    // 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.1.0-alpha02")

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

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.1.0-alpha02")

    // 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 문서를 참고하세요.

버전 1.1

버전 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.0

2022년 7월 27일

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

1.0.0의 주요 기능

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

버그 수정

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

버전 1.0.0-rc02

2022년 6월 22일

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

버그 수정

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

버전 1.0.0-rc01

2022년 6월 15일

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

API 변경사항

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

버그 수정

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

버전 1.0.0-beta03

2022년 6월 1일

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

새로운 기능

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

API 변경사항

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

알려진 문제

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

버그 수정

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

버전 1.0.0-beta02

2022년 5월 18일

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

새로운 기능

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

버그 수정

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

버전 1.0.0-beta01

2022년 5월 11일

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

Wear OS 1.0용 Compose의 기능

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

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

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

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

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

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

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

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

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

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

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

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha21

2022년 4월 20일

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

새로운 기능

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha20

2022년 4월 6일

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

새로운 기능

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha19

2022년 3월 23일

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha18

2022년 3월 9일

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha17

2022년 2월 23일

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

새로운 기능

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha16

2022년 2월 9일

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

새로운 기능

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha15

2022년 1월 26일

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

API 변경사항

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

버전 1.0.0-alpha14

2022년 1월 12일

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

새로운 기능

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

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

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

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

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

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

버전 1.0.0-alpha13

2021년 12월 15일

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

API 변경사항

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

버그 수정

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

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

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

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

버전 1.0.0-alpha12

2021년 12월 1일

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

새로운 기능

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

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

API 변경사항

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

버전 1.0.0-alpha11

2021년 11월 17일

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

새로운 기능

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

API 변경사항

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

버그 수정

  • 추가 TimeText 예 (I8cb64)

버전 1.0.0-alpha10

2021년 11월 3일

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

새로운 기능

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

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha09

2021년 10월 27일

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

새로운 기능

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha08

2021년 10월 13일

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha07

2021년 9월 29일

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

새로운 기능

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha06

2021년 9월 15일

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

새로운 기능

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

Wear Compose Navigation 라이브러리

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

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

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

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha05

2021년 9월 1일

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha04

2021년 8월 18일

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

새로운 기능

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha03

2021년 8월 4일

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha02

2021년 7월 21일

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

새로운 기능

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

API 변경사항

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

버그 수정

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

버전 1.0.0-alpha01

2021년 7월 1일

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

새로운 기능

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

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

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

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

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

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