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에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
androidx.wear.compose:compose-material3:1.0.0-alpha23이 출시되었습니다. 버전 1.0.0-alpha23에 포함된 커밋을 확인하세요.
API 변경사항
사용 중지된 색상을 구성할 수 있도록 ToggleButton 및 RadioButton API를 업데이트했습니다. 추가했습니다. (If13a7)
Material 3의 새 CircularProgressIndicator를 추가했습니다. 추가했습니다. (Ib3bd7)
버그 수정
선택 가능한 버튼이 이미 선택되어 있을 때 두 번 탭하여 전환할 수 있다고 알리는 버그를 수정했습니다. 추가했습니다. (I7ed88)
버전 1.0.0-alpha22
2024년 5월 1일
androidx.wear.compose:compose-material3:1.0.0-alpha22이 출시되었습니다. 버전 1.0.0-alpha22에 포함된 커밋을 확인하세요.
API 변경사항
Material 3 ColorScheme를 업데이트했습니다. 추가했습니다. (I7b2b8)
Material 3 스위치를 업데이트했으며 몇 가지 색상이 변경되었으며 이제 틱이 체크박스에 사용된 것과 일치합니다. 추가했습니다. (Icac7b)
버그 수정
새 rotaryScrollable 수정자를 사용하도록 모든 통합 데모를 업데이트합니다. 추가했습니다. (I25090)
버전 1.0.0-alpha21
2024년 4월 17일
androidx.wear.compose:compose-material3:1.0.0-alpha21이 출시되었습니다. 버전 1.0.0-alpha21에 포함된 커밋을 확인하세요.
이 버전은 소스 jar 누락을 초래한 이전 버전의 기술적 문제로 인해 트리거되었습니다. 이 출시 버전에는 새 커밋이 없습니다.
버전 1.0.0-alpha20
2024년 4월 3일
androidx.wear.compose:compose-material3:1.0.0-alpha20이 출시되었습니다. 버전 1.0.0-alpha20에 포함된 커밋을 확인하세요.
버그 수정
대비를 위해 물결 효과 누름 및 포커스가 맞춰진 상태 알파를 조정했습니다. 추가했습니다. (I59f0a)
서체 스타일과 줄 높이의 최신 변경사항에 따라 Button, ToggleButton, RadioButton의 기본 및 보조 라벨 사이에 간격을 추가했습니다. 추가했습니다. (I2c0ba)
버전 1.0.0-alpha19
2024년 3월 6일
androidx.wear.compose:compose-material3:1.0.0-alpha19이 출시되었습니다. 버전 1.0.0-alpha19에 포함된 커밋을 확인하세요.
API 변경사항
Wear Compose Material3 라이브러리에 TimeText을 추가했습니다. 이 구성요소는 화면 상단에 현재 시간 및 추가 상태를 표시합니다. 새롭고 간결한 Material3 API는 선형 콘텐츠와 곡선 콘텐츠 간의 중복을 방지합니다. 추가했습니다. (I4d7c3)
RadioButton의 매개변수 이름이 onSelected에서 onSelect로 업데이트되었습니다. 추가했습니다. (I1a971)
RadioButton 및 SplitRadioButton를 토큰화하고, 캐시된 색상 인스턴스를 추가하고 RadioButtonColors 및 SplitRadioButtonColors 메서드를 내부로 만들어 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에 포함된 커밋을 확인하세요.
androidx.wear.compose:compose-material3:1.0.0-alpha16이 출시되었습니다. 버전 1.0.0-alpha16에 포함된 커밋을 확인하세요.
새로운 기능
Button과 동일한 채워진 색조, 윤곽선 색상을 사용할 수 있는 CompactButton를 추가했습니다.(I05df0)
API 변경사항
라디오 컨트롤과 같은 선택 컨트롤의 컨테이너로 RadioButton/SplitRadioButton를 추가했습니다. 이는 RadioButton가 선택 가능하고 선택 그룹 내에서 작동하는 반면 ToggleButton는 전환 가능하고 독립적이라는 점에서 기존 ToggleButton와 다릅니다. 추가했습니다. (I61275)
API에서 MutableInteractionSource를 노출하는 Wear Material 및 Wear Material3 구성요소가 이제 기본값이 null인 null을 허용하는 MutableInteractionSource를 노출하도록 업데이트되었습니다. 여기에는 시맨틱 변경사항이 없습니다. null을 전달하면 MutableInteractionSource를 호이스팅하지 않으려고 하며 필요한 경우 구성요소 내에 생성됩니다. null로 변경하면 일부 구성요소가 MutableInteractionSource를 할당하지 않을 수 있고 다른 구성요소가 필요할 때만 인스턴스를 느리게 생성할 수 있으므로 이러한 구성요소 전반의 성능이 향상됩니다. 이러한 구성요소에 전달하는 MutableInteractionSource를 사용하지 않는다면 대신 null을 전달하는 것이 좋습니다. 자체 구성요소에도 비슷하게 변경하는 것이 좋습니다.
추가했습니다. (Ib90fc, b/298048146)
wear:compose-material 및 wear:compose-material3 라이브러리에 지원 중단된 rememberRipple를 대체하는 새 물결 효과 API를 추가합니다. 또한 Material 구성요소를 지원 중단된 rememberRipple/RippleTheme API를 사용하도록 되돌리는 임시 CompositionLocal, LocalUseFallbackRippleImplementation를 추가합니다. 이는 다음 안정화 버전에서 삭제될 예정이며 맞춤 RippleTheme를 제공하는 경우 일시적으로 이전을 돕기 위한 목적으로만 제공됩니다. 이전 정보 및 이 변경사항과 관련된 자세한 배경 정보는 developer.android.com을 참고하세요.
추가했습니다. (af92b21)
HorizontalPageIndicator API 및 관련 문서가 약간 개선되었습니다. 추가했습니다. (I60efc)
ColorScheme를 변경할 수 없도록 업데이트하여 개별 색상 업데이트의 효율성은 떨어뜨리지만 색상을 더 일반적인 방식으로 사용하는 것은 더 효율적입니다. 이러한 변경의 이유는 대부분의 앱에서 기본 사용 사례로 개별 색상을 업데이트하지 않기 때문입니다. 여전히 가능하지만 이전보다 더 많이 재구성될 것입니다. 따라서 모든 머티리얼 코드를 통한 상태 구독의 양이 크게 줄어들고 더 표준 사용 사례의 초기화 및 런타임 비용에 영향을 미치게 됩니다. 추가했습니다. (Ibc2d6)
사용 중지된 색상을 맞춤설정할 수 있도록 ToggleButton 및 SplitToggleButton API를 업데이트했습니다. 또한 이제 색상 및 서체 값에 Material Design 토큰이 사용됩니다. 추가했습니다. (If087c)
Material Design 토큰을 사용하도록 버튼 이미지 배경 색상을 업데이트했습니다. 추가했습니다. (Iba215)
클릭 처리를 삭제하여 Checkbox, Switch, RadioButton 구성요소를 표시 전용으로 변경했습니다. 이러한 구성요소는 클릭을 처리하는 (Split)ToggleButton에서 사용될 것으로 예상되므로 이제 구성요소가 디스플레이 전용으로 더 명확하게 표시됩니다 (Wear에서 독립형으로 사용할 수 없음). 추가했습니다. (I2322e)
버그 수정
Wear Compose Material 3에서 지속 시간 및 이징 모션 값의 토큰을 추가했습니다. 추가했습니다. (I437cd)
접근성 공지가 반복되지 않도록 (이전에는 시맨틱 역할이 중복됨) ToggleButton, SplitToggleButton, Checkbox, Switch, RadioButton의 버그를 수정했습니다. 추가했습니다. (Ica281)
성능 개선을 위해 CompactButton의 Materialcore 레이어를 삭제했습니다. (7902858)
버전 1.0.0-alpha15
2023년 11월 15일
androidx.wear.compose:compose-material3:1.0.0-alpha15이 출시되었습니다. 버전 1.0.0-alpha15에 포함된 커밋을 확인하세요.
API 변경사항
기본 수준 SwipeToDismissBox를 BasicSwipeToDismissBox로 이름을 바꿨습니다. 이를 통해 기초 수준 구성요소와 Material3 수준 SwipeToDismissBox이 더 명확하게 구분됩니다. 후자는 스크림에 사용할 MaterialTheme에서 색상을 가져오고 나머지 구현을 BasicSwipeToDismissBox에 위임합니다. (Ibecfc)
버그 수정
성능 개선을 위해 Material3 버튼의 Material-Core 레이어를 삭제했습니다. 추가했습니다. (I55555)
버전 1.0.0-alpha14
2023년 10월 18일
androidx.wear.compose:compose-material3:1.0.0-alpha14이 출시되었습니다. 버전 1.0.0-alpha14에 포함된 커밋을 확인하세요.
API 변경사항
Material3 HorizontalPageIndicator에서 indicatorStyle 매개변수를 삭제했습니다. 대신 기기 화면 모양 (선형 또는 원형)을 따릅니다. 추가했습니다. (I83728)
새 SplitToggleButtonColors 클래스를 추가하여 SplitToggleButton의 색상을 ToggleButton의 색상과 분리했습니다. 추가했습니다. (I78bee)
버전 1.0.0-alpha13
2023년 10월 4일
androidx.wear.compose:compose-material3:1.0.0-alpha13이 출시되었습니다. 버전 1.0.0-alpha13에 포함된 커밋을 확인하세요.
androidx.wear.compose:compose-material3:1.0.0-alpha08이 출시되었습니다. 버전 1.0.0-alpha08에 포함된 커밋을 확인하세요.
새로운 기능
Material 3의 Switch, Checkbox, RadioButton 선택 컨트롤을 추가했습니다. 추가했습니다. (Ib918c)
Material 3에 IconToggleButton 및 TextToggleButton를 추가했습니다. 이는 각각 아이콘과 텍스트용 단일 슬롯이 있는 원형 전환 버튼입니다. 다양한 크기의 ToggleButton의 경우 각 전환 버튼에 제공된 크기와 함께 Modifier.touchTargetAwareSize를 사용하는 것이 좋습니다. 추가했습니다. (I9f015)
Material3 구성요소에 ListHeader 및 ListSubheader를 추가했습니다. (이바에페)
새 Foundation SwipeToDismissBox를 호출하고 테마에서 기본 색상 값을 제공하는 Material3 SwipeToDismissBox를 추가했습니다. 추가했습니다. (I275fb)
Wear Compose에 Material3 InlineSlider를 추가했습니다. 사용자가 값 범위에서 선택할 수 있습니다. 선택 범위는 해당 범위의 최솟값과 최댓값 사이의 막대로 표시되며, 사용자가 하나의 값을 선택할 수 있습니다. InlineSlider는 볼륨 또는 밝기와 같은 설정을 조정하는 데 이상적입니다. 추가했습니다. (I7085f)
API 변경사항
Wear Material 3 테마의 도형이 도형 대신 RoundedCornerShape 기반으로 사용하도록 업데이트했습니다. (Idb133)
이제 Button이 높이를 조정하여 접근성을 위한 큰 글꼴로 인해 증가한 콘텐츠를 수용하도록 필요한 경우 (Iaf302)
접근성 문제를 해결하기 위해 여러 버튼 데모를 업데이트했습니다. 추가했습니다. (I61ce9)
이제 Stepper 및 InlineSlider가 길게 누르기 시 반복 클릭을 지원하므로 + 또는 - 버튼을 길게 눌러 Stepper 및 InlineSlider 값을 빠르게 늘리거나 줄일 수 있습니다. (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.foundation가 wear.compose.material3의 API 종속 항목이 되도록 업데이트했습니다. (I72004, b/285404743)
버전 1.0.0-alpha06
2023년 6월 7일
androidx.wear.compose:compose-material3:1.0.0-alpha06이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
버그 수정
사용 중지된 알파 값을 올바르게 처리하는 데 toDisabledColor 확장 함수를 사용하도록 TextButton를 업데이트했습니다. 추가했습니다. (I814c8)
버전 1.0.0-alpha05
2023년 5월 24일
androidx.wear.compose:compose-material3:1.0.0-alpha05이 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
새로운 기능
텍스트용 슬롯이 하나 있는 원형 버튼인 Material3에 TextButton를 추가했습니다. 다양한 크기의 TextButton에는 TextButtonDefaults에 제공된 Modifier.touchTargetAwareSize 및 ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize, LargeButtonSizeIcon를 사용하는 것이 좋습니다. 기본 TextButton에는 강조 표시가 낮은 작업을 위한 테두리와 투명한 배경이 있습니다. 강조해야 하는 작업에는 filledTextButtonColors를 사용합니다. 약간 강조하려면 TextButton 윤곽선으로 테두리를 ButtonDefaults.outlinedButtonBorder로 설정합니다. 윤곽선과 채우기 사이의 중간 지점을 표시하려면 filledTonalTextButtonColors를 사용합니다. 추가했습니다. (I667e4)
Wear Compose Material3 라이브러리에 Card, OutlinedCard, AppCard, TitleCard를 추가했습니다. CardDefaults.outlinedCardColors 및 CardDefaults.outlinedCardBorder를 사용하여 AppCard 및 TitleCard도 윤곽선으로 표시할 수 있습니다. (I80e72)
API 변경사항
후행 람다 문법을 지원하기 위해 Button 라벨 매개변수를 끝으로 이동하고 역할 매개변수를 삭제했습니다 (Modifier.semantics를 사용하여 재정의할 수 있음). 이제 ButtonColors 생성자가 공개됩니다. 추가했습니다. (Ie1b6d)
버전 1.0.0-alpha04
2023년 5월 10일
androidx.wear.compose:compose-material3:1.0.0-alpha04이 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
아이콘/이미지를 위한 단일 슬롯이 있는 원형 버튼인 Material3에 IconButton를 추가했습니다. 변형에는 IconButton, FilledIconButton, FilledTonalIconButton, OutlinedIconButton의 4가지 변형이 있습니다. 다양한 크기의 IconButton에는 IconButtonDefaults에 제공된 Modifier.touchTargetAwareSize 및 ExtraSmallButtonSize, 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 Button 구성요소를 추가했습니다. 이 버튼은 경기장 모양의 버튼이며 이전에는 Wear Compose Material 라이브러리에서 칩이라고 이름이 지정되었습니다 (Compose Material 3 라이브러리와의 일관성을 위해 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에 PlatformTextStyle.includeFontPadding의 기본값을 true (현재 설정)로 설정하는 DefaultTextStyle를 추가했습니다. 이를 통해 향후 기본적으로 글꼴 패딩 사용 중지를 Compose 라이브러리와 동기화할 수 있습니다 (백그라운드용 Compose의 글꼴 패딩 수정 참고). 추가했습니다. (I7e461)
버전 1.0.0-alpha01
2023년 3월 22일
androidx.wear.compose:compose-material3:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
Material 3은 차세대 Material Design으로, 업데이트된 테마 설정과 다시 디자인된 구성요소를 포함합니다. Wear Compose의 Material 3은 Android의 Material 3 Compose 라이브러리와 일관되도록 설계되었습니다. 이 첫 번째 알파 버전에는 다음의 초기 기능 구현이 포함되어 있습니다.
Material 테마 - 라이브러리의 구성요소에서 색 구성표, 서체, 도형을 일관되게 구성합니다. Material3 테마에서는 접근성이 좋은 대비를 지원하는 색상을 수정했습니다. 추가했습니다. (I84005)
Wear 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-beta03
2024년 6월 12일
androidx.wear.compose:compose-*:1.4.0-beta03이 출시되었습니다. 버전 1.4.0-beta03에 포함된 커밋을 확인하세요.
버그 수정
Modifier.rotaryScrollable를 업데이트하여 'focusable' 사용을 'focusTarget'으로 대체하여 성능을 개선했습니다. 추가했습니다. (Id294b)
ProgressIndicator에서 TalkBack에 공지사항을 반복하는 문제를 해결했습니다. 추가했습니다. (I94563)
Wear Compose 라이브러리 기준 프로필을 업데이트했습니다. 추가했습니다. (I3cbc3)
버전 1.4.0-beta02
2024년 5월 29일
androidx.wear.compose:compose-*:1.4.0-beta02이 출시되었습니다. 버전 1.4.0-beta02에 포함된 커밋을 확인하세요.
버그 수정
잘림 문제를 해결하기 위해 곡선 텍스트에서 스크린 리더로 전달되는 경계 너비를 늘렸습니다. (Id865f)
스크린 리더에 전달된 HorizontalPageIndicator의 경계를 제한했습니다. 이전에는 표시기가 전체 화면을 차지했습니다. (Id8d7a)
버전 1.4.0-beta01
2024년 5월 14일
androidx.wear.compose:compose-*:1.4.0-beta01이 출시되었습니다. 버전 1.4.0-beta01에 포함된 커밋을 확인하세요.
Wear OS용 Compose의 1.4-beta01 버전은 이 라이브러리 출시의 기능이 완료되었으며 API가 잠겨 있음을 나타냅니다 (실험용으로 표시된 경우 제외). Wear Compose 1.4에는 다음과 같은 새로운 기능이 포함되어 있습니다.
로터리 이벤트를 스크롤 가능한 컨테이너와 연결하는 새로운 수정자인 Modifier.rotaryScrollable를 추가했습니다. 이를 통해 사용자는 Wear OS 기기에서 크라운이나 회전 베젤을 통해 스크롤할 수 있습니다. 또한 ScalingLazyColumn 및 Picker가 이제 기본적으로 로터리 입력을 지원합니다. rotaryScrollableBehavior 매개변수를 사용하여 스크롤 또는 맞추기 동작을 구성합니다. 맞추기 동작을 위해 터치 스크롤뿐만 아니라 flingBehavior 매개변수를 통해 맞추기를 제공하는 것이 좋습니다.
이제 SwipeDismissableNavHost가 인앱 전환을 위한 항목 애니메이션을 제공합니다.
이제 화면이 처음 표시될 때 PositionIndicator가 기본적으로 표시됩니다.
SelectableChip 및 SplitSelectableChip가 ToggleChip의 변형으로 추가되었습니다. 접근성을 위해 전환 가능한 시맨틱 대신 선택 가능한 시맨틱을 제공하려면 RadioButton와 함께 사용합니다.
이제 ListHeader에서 큰 글꼴 크기를 수용하기 위해 콘텐츠에 추가 높이가 필요할 때 높이 조정을 지원합니다.
버그 수정
이미 선택한 상태에서 두 번 탭하여 전환할 수 있다고 알려주는 선택 가능한 칩 버그를 수정했습니다. 추가했습니다. (I7ed88)
버전 1.4.0-alpha08
2024년 5월 1일
androidx.wear.compose:compose-*:1.4.0-alpha08이 출시되었습니다. 버전 1.4.0-alpha08에 포함된 커밋을 확인하세요.
API 변경사항
새 로터리 API의 이름을 다음과 같이 변경했습니다. Modifier.rotary를 Modifier.rotaryScrollable로 이름을 바꿨습니다. RotaryBehavior 인터페이스의 이름이 RotaryScrollableBehavior로, 함수 handleScrollEvent의 이름이 performScroll로 변경되었습니다. RotaryScrollableAdapter의 이름을 RotaryScrollableLayoutInfoProvider로 변경하고 scrollableState 속성을 삭제했습니다. 추가했습니다. (I0c8a6)
로터리 API를 추가로 변경했습니다. RotaryScrollableLayoutInfoProvider를 RotarySnapLayoutInfoProvider로 이름을 바꿨습니다 (이 제공자는 스냅이 있는 로터리에만 필요하기 때문). RotaryScrollableDefaults.snapBehavior snapOffset의 snapOffset 매개변수 유형을 Int에서 Dp로 변경했습니다. (Iddebe)
SplitSelectableChip의 clickInteractionSource 매개변수 이름을 containerInteractionSource로 바꾸었습니다. 추가했습니다. (Ia8f84)
PositionIndicator (스크롤바)가 스크롤 가능한 콘텐츠와 겹치는 버그를 수정하기 위해 PositionIndicator의 가로 패딩을 2dp (기존 5dp)로 업데이트했습니다. 패딩 변경으로 인해 PositionIndicator가 포함된 기존 스크린샷이 손상될 수 있습니다. 추가했습니다. (I57472)
저해상도 로터리 기기와 고해상도 로터리 기기 간의 차이점을 설명하여 새 로터리 API 문서를 개선했습니다. 추가했습니다. (I63abe)
보간된 알파 값이 0보다 작을 때 트리거될 수 있는 SwipeDismissableNavHost의 범위를 벗어난 예외를 해결했습니다. 추가했습니다. (Ib75a1, b/335782510)
버전 1.4.0-alpha07
2024년 4월 17일
androidx.wear.compose:compose-*:1.4.0-alpha07이 출시되었습니다. 버전 1.4.0-alpha07에 포함된 커밋을 확인하세요.
API 변경사항
로터리 이벤트를 스크롤 가능한 컨테이너와 연결하는 새로운 수정자인 Modifier.rotary를 추가했습니다. 이를 통해 사용자는 Wear OS 기기에서 크라운이나 회전 베젤을 통해 스크롤할 수 있습니다. 또한 이제 ScalingLazyColumn 및 선택 도구가 기본적으로 로터리 입력을 지원하며 스크롤 또는 스냅 구성을 지정하기 위한 rotaryBehavior 매개변수가 포함된 새 오버로드가 있습니다. rotaryBehavior 매개변수가 맞추기로 설정된 경우 터치 스크롤을 위해 flingBehavior 매개변수를 통해서도 맞추기를 제공하는 것이 좋습니다. 추가했습니다. (I2ef6f)
이제 애니메이션 (부수 효과)과 마우스 휠 및 키보드 (UserInput)가 포함된 이러한 소스의 확장된 정의를 수용하기 위해 NestedScroll 소스 드래그 및 플링이 UserInput 및 SideEffect로 대체됩니다. 추가했습니다. (I40579)
Switch/Checkbox와 같은 전환 컨트롤과 선택 가능한 컨트롤(예: RadioButton)을 더 명확하게 구분하기 위해 SelectableChip와 SplitSelectableChip를 추가했습니다. 이는 이전에 추가된 ToggleChip/SplitToggleChip 오버로드를 selectionControl 매개변수로 대체합니다. 추가했습니다. (Ia0217)
ProgressIndicatorDefaults의 IndeterminateStrokeWidth 공개 상태 수정자를 공개로 업데이트했습니다. 추가했습니다. (I5b5a4)
버전 1.4.0-alpha06
2024년 4월 3일
androidx.wear.compose:compose-*:1.4.0-alpha06이 출시되었습니다. 버전 1.4.0-alpha06에 포함된 커밋을 확인하세요.
버그 수정
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 변경사항
ScalingLazyListState의 initialCenterItemIndex 및 initialCenterItemScrollOffset 속성을 공개했습니다. 추가했습니다. (I0c616)
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 매개변수를 사용하는 ToggleChip 및 SplitToggleChip의 새 오버로드를 추가했습니다. 접근성을 위해 전환 가능한 시맨틱 대신 선택 가능한 시맨틱을 제공하려면 RadioButton 컨트롤과 함께 사용해야 합니다. (I1d6d9)
새 selectionControl 오버로드의 매개변수 이름을 ToggleChip 및 SplitToggleChip의 onSelected에서 onSelect로 업데이트했습니다. (I1a971)
Modifier.inspectable 래퍼가 지원 중단되었습니다. 이 API는 수정자의 무효화를 필요 이상으로 많이 생성하므로 사용하지 않는 것이 좋습니다. 개발자는 수정자 속성을 도구에 노출하려는 경우 ModifierNodeElement에 inspectableProperties() 메서드를 구현하는 것이 좋습니다. 추가했습니다. (Ib3236)
버그 수정
WearPreview* 주석에 관한 문서 버그를 수정했습니다. 추가했습니다. (Id526d)
인앱 전환을 위해 SwipeDismissableNavHost에 항목 애니메이션을 추가했습니다.(cfeb79a)
이제 화면이 처음 표시될 때 PositionIndicator가 기본적으로 표시됩니다. 이 변경사항은 Wear 품질 가이드라인을 준수하기 위한 조치입니다. 안타깝게도 PositionIndicator가 포함된 화면에서는 스크린샷 테스트를 업데이트해야 합니다. 이전에 PositionIndicator가 표시되지 않았기 때문입니다. 추가했습니다. (419cef7)
API 변경사항
wear:compose-material 및 wear: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 워크플로(예: 구성된 테마의 색상 적용)는 별도로 처리됩니다.
1.3.0-alpha02 버전에는 사용자가 선택한 글꼴 크기 조정을 더 효과적으로 지원하기 위해 Chip 및 ToggleChip 객체의 높이가 커지는 변경사항이 도입되었습니다. 이로 인해 잘림이 발생할 수 있습니다. 이 문제를 해결하기 위해 MaterialTheme의 large 도형에서 이제 더 큰 모서리 반경 (24dp 대신 26dp)을 사용합니다. Chip 및 ToggleChip 객체는 이 새로운 모서리 반경을 사용하여 칩과 ToggleChip의 모서리에서 콘텐츠가 잘리지 않도록 합니다.
대부분의 Chips 및 ToggleChips는 높이가 기본값인 52dp이므로 변경되지 않습니다. 하지만 기본 또는 보조 라벨 텍스트가 여러 줄 포함되어 있거나 높이가 재정의된 Chip 및 ToggleChip 객체를 사용하면 스크린샷 테스트가 중단될 수 있습니다.
사용자가 지도 기반 앱과 같이 앱에서 사용자가 화면 콘텐츠에서 이동할 수 있는 경우 SwipeDismissableNavHost 컴포저블에서 userSwipeEnabled를 false로 설정하여 스와이프 처리를 사용 중지하고 사용자가 이전 화면으로 이동할 수 있는 버튼을 포함합니다.
스크롤 목록 내에서 페이드 인 및 위치 변경 애니메이션 중에 위치 표시기의 애니메이션을 사용 중지하려면 SnapSpec 객체를 사용합니다.
미디어 앱이 재생할 콘텐츠를 로드하기를 기다리는 동안 빈 Placeholder 컴포저블을 표시합니다.
26dp 둥근 모서리 반경을 사용하도록 MaterialTheme 큰 도형을 업데이트했으며 이제 Chip과 ToggleChip에서 이 도형을 사용합니다. 큰 글꼴 크기를 수용하기 위해 콘텐츠에 추가 높이가 필요한 경우 높이 조정을 지원하기 위해 이 변경사항이 필요합니다. 그렇지 않으면 기존 경기장 도형이 일부 텍스트 콘텐츠를 자릅니다.
<ph type="x-smartling-placeholder"></ph>
그림 1: 모서리에서 잘린 텍스트를 통해 개인정보처리방침을 정의할 수 있습니다.
<ph type="x-smartling-placeholder"></ph>
<ph type="x-smartling-placeholder"></ph>
그림 2: 텍스트가 잘리지 않음
이 변경사항으로 인해 스크린샷 테스트가 중단될 수 있습니다.
추가했습니다. (I2e6ae)
Wear OS용 Compose의 1.3-beta01 버전은 이 라이브러리 출시의 기능이 완전하고 API가 잠겨 있음을 나타냅니다 (실험용으로 표시된 경우 제외). Wear Compose 1.3에는 다음과 같은 새로운 기능이 포함되어 있습니다.
SwipeToDismissBoxState, SwipeToDismissValue, Modifier.edgeSwipeToDismiss가 BasicSwipeToDismissBox의 기본 스와이프하여 닫기 구현과 함께 androidx.wear.compose.material에서 androidx.wear.compose.foundation로 이전되었습니다. 이를 통해 Material Design과는 별도로 스와이프하여 닫기 동작 처리를 사용할 수 있습니다(예: androidx.wear.compose.navigation의 SwipeDismissableNavHost). androidx.wear.compose.material의 SwipeToDismissBox는 MaterialTheme에서 색상을 가져온 다음 나머지 구현을 BasicSwipeToDismissBox에 위임하므로 Material Design과 함께 사용하는 것이 좋습니다.
이제 SwipeDismissableNavHost가 새로운 userSwipeEnabled 매개변수를 지원하므로, 필요하지 않은 화면에서 스와이프 처리를 사용 중지할 수 있습니다.
BasicSwipeToDismissBox가 HierarchicalFocusCoordinator를 사용하여 포커스 처리를 개선했습니다.
SwipeToReveal에는 Card 및 Chip에 관한 권장 UX 가이드를 따르는 Material의 새로운 SwipeToRevealCard 및 SwipeToRevealChip 컴포저블이 있습니다. 또한 보조 작업에 대한 실행취소가 지원됩니다.
이제 DefaultTextStyle가 Android 플랫폼 전체에서 일관되도록 글꼴 패딩을 사용 중지합니다.
이제 Chip 및 ToggleChip의 높이를 조정하여 접근성을 위한 큰 글꼴로 인해 증가한 콘텐츠를 수용하도록 합니다.
이제 PositionIndicator에는 페이드 인, 페이드 아웃, 위치 변경 애니메이션의 개별 애니메이션 사양이 있습니다. 성능상의 이유로 스크롤 가능한 목록과 함께 사용할 때는 페이드 인 및 위치 변경을 사용 중지하는 것이 좋습니다.
ExpandableStateMapping는 요청 시 생성되어야 하고 @Composable 범위를 사용하지 않아도 되는 경우 ExpandableStates를 생성하는 새로운 방법을 제공합니다.
이제 콘텐츠가 더 이상 준비 상태가 아닌 경우 Placeholder에서 재설정을 허용합니다. 이제 모션 감소 설정이 Placeholder의 빛나는 효과와 와이프오프 모션에도 적용됩니다.
알려진 문제
PositionIndicator는 화면이 처음 표시될 때 처음에 표시되지 않습니다. 초기 1.4 알파 버전에서 변경하면 처음에는 표시되지만 애니메이션은 표시되지 않습니다.
API 변경사항
기본 수준 SwipeToDismissBox를 BasicSwipeToDismissBox로 이름을 바꿨습니다. 이를 통해 기초 수준 구성요소와 머티리얼 수준 SwipeToDismissBox을 더 명확하게 구분할 수 있습니다. 후자는 스크림에 사용할 MaterialTheme에서 색상을 가져오고 나머지 구현을 BasicSwipeToDismissBox에 위임합니다. (Ibecfc)
rememberExpandableStateMapping를 실험용으로 표시하고 expandableItem의 성능을 개선했습니다. 추가했습니다. (I5f6bc)
Material SwipeToReveal 카드 및 칩 API의 SwipeToRevealAction 클래스를 SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction, SwipeToRevealUndoAction 컴포저블을 사용하여 슬롯 기반 API로 대체했습니다. 새 API를 사용하는 방법에 대한 예제는 샘플 코드를 참조하세요. 추가했습니다. (Ia8943)
PositionIndicator 애니메이션 플래그를 AnimationSpec 매개변수로 대체했습니다. 개별 애니메이션은 snap를 AnimationSpec로 전달하여 사용 중지할 수 있습니다. 추가했습니다. (I6c523)
버그 수정
크기가 제한될 때 제한된 곡선 텍스트에 의해 트리거되는 버그를 수정했습니다. (I50efe)
curvedComposable와 관련된 잠재적인 NaN 비정상 종료를 해결했습니다. (I970eb)
PositionIndicator의 위치 변경 하이라이트 애니메이션 삭제를 되돌렸습니다. 추가했습니다. (Ieb424)
성능을 개선하기 위해 머티리얼 칩의 머티리얼 코어 레이어를 삭제했습니다. 추가합니다. (If2dcb)
다양한 애니메이션(showFadeInAnimation, showFadeOutAnimation, showPositionAnimation)을 제어하기 위해 PositionIndicator 오버로드에 개별 플래그를 추가했습니다. 이전 API는 지원 중단되었으며 호출을 새 API로 전달합니다. 성능상의 이유와 UX 일관성을 위해 PositionIndicator가 스크롤 가능한 목록과 함께 사용될 때는 showFadeInAnimation 및 showPositionAnimation 플래그를 사용 중지하는 것이 좋습니다. 볼륨 변경과 같이 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)
다양한 애니메이션을 제어하기 위해 PositionIndicator에 개별 플래그(showFadeInAnimation, showFadeOutAnimation, showPositionAnimation)를 추가했습니다. 이전 API는 지원 중단되었으며 호출을 새 API로 전달합니다. 성능상의 이유와 UX 일관성을 위해 PositionIndicator가 스크롤 가능한 목록과 함께 사용될 때는 showFadeInAnimation 및 showPositionAnimation 플래그를 사용 중지하는 것이 좋습니다. 볼륨 변경과 같이 PositionIndicator를 독립형 표시기로 사용하는 경우 애니메이션 3개를 모두 사용 설정하는 것이 좋습니다. 추가했습니다. (Ia2d63)
버그 수정
기본 작업 텍스트에 페이드 애니메이션을 추가하고 전체 스와이프 확장 시 보조 작업을 페이드 아웃하거나 아이콘 배율을 변경하여 스와이프하여 모션을 표시하는 기능을 개선했습니다. 추가했습니다. (Ib7223)
스와이프하여 표시 작업에 액세스할 수 있도록 하는 것이 좋으며 스와이프하여 표시 샘플에 맞춤 접근성 작업을 추가했습니다. 추가했습니다. (I42224)
초기 로직이 리컴포지션을 트리거하지 않도록 리팩터링하는 등 SwipeToDismissBox의 성능을 개선했습니다. 이제 SwipeToDismissBox가 전체 화면 크기로 그려집니다. 추가했습니다. (Ie0aa2)
PositionIndicator가 잘못 사라지는 버그를 수정했습니다. 추가했습니다. (I2091a)
리컴포지션을 최적화하여 PositionIndicator의 성능을 개선했습니다. 애니메이션 (fadeIn, fadeOut, positionChange)을 제어하는 새로운 플래그가 이후에 추가되었습니다 (API 변경사항 참고). (Ifac7d)
PositionIndicator의 Microbenchmark 테스트를 추가했습니다. (Idf875)
카드와 칩으로 SwipeToReveal를 구현하기 위해 Material에 새로운 컴포저블 두 개를 추가했습니다. 이러한 컴포저블은 구성요소에 관한 권장 UX 가이드를 따르며 개발자가 Wear Material의 기존 구성요소로 SwipeToReveal를 더 쉽게 구현할 수 있도록 합니다. 추가했습니다. (I7ec65)
이전에 주석에서 언급한 것처럼 FloatRange 주석을 API 제약조건으로 설정했습니다. 추가했습니다. (Icb401)
버그 수정
ScalingLazyColumn의 초기 스크롤 로직을 onGloballyPositioned() 내부로 이동했습니다. 추가했습니다. (Ic90f1)
이제 PositionIndicator, ProgressIndicator, SelectionControls에서 drawWithCache를 사용하여 획 할당을 최적화합니다. 추가했습니다. (I5f225, b/288234617)
1.2.0-alpha07 및 1.2.0-alpha10에서 공지한 바와 같이 이제 Android 플랫폼 전체에서 일관되도록 글꼴 패딩을 사용 중지하도록 DefaultTextStyle를 변경합니다. 이렇게 하면 글꼴 크기가 큰 텍스트 클립이 발생하는 일부 사례가 해결되고 화면 레이아웃에 영향을 미칠 수도 있으므로 스크린샷 테스트를 업데이트해야 합니다. 예를 들어 텍스트가 잘리는 것을 볼 수 있습니다. (Ic6a86)
를 통해 개인정보처리방침을 정의할 수 있습니다.
<ph type="x-smartling-placeholder"></ph>
<ph type="x-smartling-placeholder"></ph>
그림 1: 텍스트가 잘림
글꼴 패딩을 사용 중지하면 더 이상 표시되지 않습니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.
<ph type="x-smartling-placeholder"></ph>
<ph type="x-smartling-placeholder"></ph>
그림 2: 텍스트가 잘리지 않음
wear.compose.foundation를 wear.compose.material의 API 종속 항목이 되도록 업데이트했습니다. (I72004, b/285404743)
SwipeToDismissBox의 버그를 수정했습니다. 이제 배경 및 콘텐츠 키가 remember 블록에 전달되므로 콘텐츠나 배경이 변경될 때 새 수정자가 생성됩니다. 추가했습니다. (Ib876c, b/280392104)
12시간 또는 24시간 형식을 선택할 때 언어를 사용하도록 TimeText를 업데이트했습니다. 추가했습니다. (If4a3d)
SwipeToDismissBoxcontentScrimColor 기본 매개변수의 불일치를 수정했습니다. 추가했습니다. (I2d70f)
Wear OS용 Compose의 1.2-beta01 버전은 이 라이브러리 출시의 기능이 완전하고 API가 잠겨 있음을 나타냅니다 (실험용으로 표시된 경우 제외). Wear Compose 1.2에는 다음과 같은 새로운 기능이 포함되어 있습니다.
expandableItem 및 expandableItems는 ScalingLazyColumn 내에서 항목 확장을 지원하는 두 개의 새로운 Foundation 구성요소입니다. 단일 확장형 항목(예: 줄 수가 있는 텍스트)에는 expandableItem를 사용합니다. 확장형 항목 그룹에는 expandableItems를 사용하고 콘텐츠가 펼쳐진 후 접히는 버튼을 간단하게 만들려면 expandableButton를 사용합니다.
HierarchicalFocusCoordinator: 이 실험용 컴포저블을 사용하면 컴포지션의 하위 트리를 포커스 사용 설정 또는 포커스 사용 중지로 표시할 수 있습니다.
Picker: 이제 API에 선택 도구가 사용자 스크롤에 활성화되어 있는지 제어하는 userScrollEnabled가 포함됩니다.
PickerGroup: 여러 선택 도구를 함께 처리하기 위한 새로운 컴포저블입니다. HierarchicalFocusCoordinator API를 사용하여 선택 도구 간의 포커스를 처리하고 선택 도구 항목을 자동으로 가운데 정렬하도록 설정합니다.
Placeholder - 쉬머 및 '삭제 끄기' 애니메이션을 업데이트했습니다. 이제 콘텐츠가 준비되면 와이프오프 효과가 즉시 적용됩니다.
ScalingLazyColumn - ScalingLazyColumn 및 연결된 클래스를 androidx.wear.compose.material.ScalingLazyColumn에서 androidx.wear.compose.foundation.lazy.ScalingLazyColumn로 이전했습니다. Foundation.Lazy 버전을 사용하도록 업데이트하세요.
SwipeToReveal - 보조 작업에 액세스하는 수단으로 스와이프하여 표시하기를 실험적으로 지원하여 기존의 '길게 누르기' 패턴을 보완했습니다.
Stepper - 이제 기본 범위 시맨틱스를 쉽게 사용 중지할 수 있도록 추가 enableRangeSemantics 매개변수가 포함된 오버로드가 있습니다.
Previews: Wear 화면에서 컴포저블을 미리 볼 수 있도록 다음과 같은 맞춤 주석을 추가했습니다. WearPreviewSmallRound은 작고 원형 기기에서 컴포저블을 미리 봅니다. WearPreviewLargeRound는 대형 원형 기기에서 컴포저블을 미리 봅니다. WearPreviewSquare는 정사각형 기기에서 컴포저블을 미리 봅니다. 또한 다음과 같은 다중 미리보기 주석과 다중 미리보기 주석도 있습니다. WearPreviewFontScales는 여러 글꼴 크기로 Wear 기기에서 컴포저블을 미리 보고 WearPreviewDevices는 다양한 Wear 기기에서 컴포저블을 미리 봅니다.
PlatformTextStyle.includeFontPadding 속성의 기본값을 true로 설정하는 DefaultTextStyle를 Wear Compose에 추가했습니다 (현재 설정). 이를 통해 초기 1.3 알파 버전에서 기본적으로 글꼴 패딩 사용 중지를 Compose 라이브러리와 동기화할 수 있습니다. 자세한 내용은 1.2.0-alpha10을 참고하세요.
새로운 기능
Reduce_motion 설정이 켜져 있을 때 애니메이션의 크기 조정 및 페이딩을 사용 중지하는 실험 지원을 추가했습니다. 추가했습니다. (I58024)
버그 수정
CurvedSize.kt의 angularWidthDp 문서를 개선했습니다. (Iab75c)
이제 SwipeDismissableNavHost가 빈 백 스택의 잠재적 원인과 함께 경고를 로깅합니다. 이는 백 스택이 비어 있을 때 발생한 IllegalArgumentException로 인해 발생하는 예기치 않은 비정상 종료를 방지하기 위한 것입니다. 추가했습니다. (I04a81, b/277700155)
보조 작업에 액세스하기 위한 수단으로 스와이프하여 표시하기에 대한 지원을 추가했습니다. 이 패턴은 사용자가 (서로 다른) 보조 동작을 노출할 수 있었던 기존의 방식인 '길게 누르기' 패턴을 보완합니다. 추가했습니다. (I60862)
API 변경사항
SwipeToReveal의 작업 컴포저블에 RevealScope를 추가했습니다. 이를 통해 추가 작업이 표시되는 오프셋에 액세스할 수 있습니다. 추가했습니다. (I3fd56)
버그 수정
플링 후 Wear API 33에서 ScalingLazyColumn가 멈추는 문제를 수정했습니다. (Ic4599)
버벅거림을 줄이기 위해 PositionIndicator의 성능을 일부 개선했습니다. 추가했습니다. (I35e92)
시맨틱 역할이 더 이상 Role.Button로 설정되지 않는 칩 및 CompactChip의 버그를 수정했습니다. 추가했습니다. (I93f91, b/277326264)
알려진 문제
Android 스튜디오에서 @WearPreviewDevices 및 @WearPreviewFontScales로 주석이 지정될 때 미리보기 렌더링에 실패하는 버그가 확인되었습니다. 곧 수정사항이 출시될 예정입니다. 다른 Wear 미리보기 주석은 Android 스튜디오 Giraffe 2022.3.1 이상에서 의도한 대로 작동합니다.
1.2.0-alpha07 버전에서 Wear Compose에 DefaultTextStyle을 추가하여 기존 PlatformTextStyle.includeFontPadding 값을 true로 유지합니다. 배경은 Compose의 글꼴 패딩 수정을 참고하세요. Android 플랫폼 전체에서 일관성을 유지하기 위해 초기 1.3 알파 버전에서 글꼴 패딩을 사용 중지하도록 DefaultTextStyle을 변경할 예정입니다. 이렇게 하면 글꼴 크기가 큰 텍스트 클립이 발생하는 일부 사례가 해결되고 화면 레이아웃에 영향을 미칠 수도 있으므로 스크린샷 테스트를 업데이트해야 합니다. 예를 들어 글꼴 크기가 큰 경우 다음과 같이 텍스트가 잘립니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.
<ph type="x-smartling-placeholder"></ph>
<ph type="x-smartling-placeholder"></ph>
그림 1: 텍스트가 잘림
글꼴 패딩을 사용 중지하면 더 이상 표시되지 않습니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.
<ph type="x-smartling-placeholder"></ph>
<ph type="x-smartling-placeholder"></ph>
그림 2: 텍스트가 잘리지 않음
PlatformTextStyle.includeFontPadding 속성의 기본값을 true로 설정하는 DefaultTextStyle를 Wear Compose에 추가했습니다 (현재 설정). 이를 통해 향후 기본적으로 글꼴 패딩 사용 중지를 Compose 라이브러리와 동기화할 수 있습니다. 배경은 Compose에서 글꼴 패딩 수정을 참고하세요. 추가했습니다. (I2aee8)
Google Play 스토어에 앱 게시를 차단하는 activity-compose를 통한 UpsideDownCake 미리보기 종속 항목을 되돌렸습니다. 추가했습니다. (I6443d)
곡선 환경에서 구성요소를 서로 겹쳐 배치하는 CurvedBox 구성요소를 추가합니다. 추가했습니다. (I29200)
확장형 항목이 추가되었습니다. ScalingLazyColumn의 확장형 항목 그룹이나 확장형 단일 항목(예: 줄 수를 펼치는 텍스트)을 지원하는 새로운 구성요소가 두 개 있습니다. 추가했습니다. (I95dd5)
Wear 화면에서 컴포저블을 미리 볼 수 있도록 다음과 같은 맞춤 주석을 추가했습니다. WearPreviewSmallRound은 작고 둥근 기기에서 컴포저블을 미리 봅니다. WearPreviewLargeRound는 대형 원형 기기에서 컴포저블을 미리 봅니다. WearPreviewSquare는 정사각형 기기에서 컴포저블을 미리 봅니다. 또한 다음과 같은 다중 미리보기 주석과 다중 미리보기 주석도 있습니다. WearPreviewFontScales는 여러 글꼴 크기로 Wear 기기에서 컴포저블을 미리 보고 WearPreviewDevices는 다양한 Wear 기기에서 컴포저블을 미리 봅니다. 이러한 미리보기를 사용하려면 최신 Android 스튜디오 (Giraffe Canary 6) 이상을 사용해야 합니다. 이러한 주석이 목적에 맞지 않는 경우, Preview를 계속 사용할 수 있으며 매개변수를 통한 추가 맞춤설정을 지원합니다. 추가했습니다. (I397ff)
HierarchicalFocusCoordinator는 광범위한 적용 가능성을 고려할 때 핵심 Compose 라이브러리로 이동할 후보로 간주되지만 실험용으로 표시되었습니다. 추가했습니다. (I3a768)
버그 수정
focusEnabled 매개변수에 전달된 람다가 변경될 때 이제 새 매개변수를 올바르게 사용하는 HierarchicalFocusCoordinator의 버그가 수정되었습니다. 추가했습니다. (Icb353)
Button, CompactButton, Chip, CompactChip, ToggleButton에서 기본 색상을 배경으로 사용할 때 사용 중지된 기본 콘텐츠 색상을 배경으로 업데이트했습니다. 이렇게 하면 접근성의 대비가 향상됩니다. (I527cc)
선택적으로 최소 제약 조건을 컴포저블에 전파할 수 있도록 PickerGroup API를 업데이트했습니다. true로 설정하면 상위 컴포저블에서 전달된 최소 제약 조건이 PickerGroup에서 허용됩니다. false로 설정하면 PickerGroup는 최소 제약 조건을 재설정합니다. 추가했습니다. (I3e046)
특정 선택 도구 옵션에 프로그래매틱 애니메이션을 지원하기 위해 Picker API에 animateScrollToOption를 추가했습니다. (I6fe67)
버그 수정
오른쪽에서 왼쪽 레이아웃을 지원하도록 HorizontalPageIndicator를 업데이트했습니다. 추가했습니다. (Ia4359)
HorizontalPageIndicator에서 오른쪽에서 왼쪽 레이아웃의 스크린샷 테스트를 추가했습니다. (I6fbb8)
SwipeDismissableNavHostTest에 TestNavHostController를 사용하는 테스트를 추가했습니다. (I61d54)
포커스 API를 사용하여 여러 선택 도구를 함께 처리하는 PickerGroup. 여러 선택 도구 간의 포커스를 처리하고, 매개변수를 기반으로 선택 도구의 자동 가운데 정렬을 지원하고, 개발자가 그룹에서 전송된 이벤트를 처리할 때 여러 선택 도구 간의 포커스를 변경할 수 있도록 합니다. TalkBack 모드에서는 PickerGroup이 그룹의 선택된 선택 도구로 포커스를 이동하여 TalkBack 포커스를 처리합니다. (I60840)
API 변경사항
기본 범위 시맨틱스를 쉽게 비활성화할 수 있도록 추가 enableRangeSemantics 매개변수를 사용하여 스테퍼에 오버로드를 추가했습니다. (Ia61d4)
버그 수정
가로 방향으로 스크롤되는 페이지에서 ScalingLazyColumn이 중첩되는 것을 허용합니다. (Iec3f8, b/266555016)
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.Lazy의 ScalingLazyListState를 사용하도록 ScrollAway 수정자를 업데이트하고 Wear Compose Material의 ScalingLazyListState를 사용하는 오버로드를 지원 중단했습니다. (Ifc42c)
Foundation.Lazy의 ScalingLazyListState를 사용하도록 Dialog API를 업데이트하고 Material ScalingLazyListState를 사용한 오버로드를 지원 중단했습니다. (Ic8960)
Foundation.Lazy의 ScalingParams를 사용하도록 Picker API를 업데이트했으며 Material ScalingParams를 사용한 오버로드를 지원 중단했습니다. (Idc3d8)
버그 수정
값이 실제로 변경될 때만 업데이트를 푸시하도록 하여 ScalingLazyListState.centerItemIndex에서 불필요한 리컴포지션을 일으키는 버그를 수정했습니다. (Ia9f38)
이제 Android Compose UI 테스트가 프레임을 실행하여 유휴 상태가 될 때(예: waitForIdle을 통해) 각 프레임의 레이아웃 패스를 실행합니다. 이는 레이아웃 애니메이션의 개별 프레임에서 어설션하는 테스트에 영향을 미칠 수 있습니다. (I8ea08, b/222093277)
BasicText와의 일관된 동작을 위해 매개변수 minLines를 Wear Text에 추가했습니다. (I24874)
CompactChipTapTargetPadding이 문서에 표시되도록 공개되었습니다. (If1e70, b/234119038)
다음 애니메이션 루프가 시작될 때까지 기다리는 대신 콘텐츠가 준비되는 즉시 '와이프오프' 효과가 적용되도록 실험용 자리표시자 기능을 업데이트했습니다. 쉬머 및 와이프오프 애니메이션에도 몇 가지 업데이트를 적용했습니다. (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인 목록 항목의 경우 LazyListState 및 ScalingLazyListState의 PositionIndicator 처리를 수정했습니다. (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에 포함된 커밋을 확인하세요.
다음 애니메이션 루프가 시작될 때까지 기다리는 대신 콘텐츠가 준비되는 즉시 '와이프오프' 효과가 적용되도록 실험용 자리표시자 기능을 업데이트했습니다. 쉬머 및 와이프오프 애니메이션에도 몇 가지 업데이트를 적용했습니다. (I5a7f4)
버그 수정
최종 UX 사양과 일치하도록 OutlinedButton/OutlinedCompactButton의 기본 테두리 너비를 2.dp에서 1.dp로 변경했습니다. (Icf84d)
빈 ScalingLazyColumn에 추가된 첫 번째 항목이 제자리로 스크롤되는 것처럼 보이는 효과를 줄이기 위해 콘텐츠가 비어 있을 경우 추정 autoCentering topPadding을 추가했습니다. 이로 인해 높이가 0dp인 초기 항목이 있다고 가정하여 필요한 상단 패딩의 양이 계산됩니다. ScalingLazyListAnchorType.ItemStart의 경우 올바른 상단 패딩이 계산되고, ScalingLazyListAnchorType.ItemCenter의 경우 콘텐츠의 크기를 올바르게 계산하려면 항목의 높이가 필요하므로 계산이 올바르지 않게 되어 항목의 실제 높이에 따라 제자리로 스크롤되는 효과가 약간 발생합니다. (I239a4)
SwipeToDismiss 애니메이션에 적용되는 배경 스크림을 Wear 플랫폼과 일치하도록 업데이트했습니다. (I9003e)
0으로 나누기 오류가 발생하지 않도록 크기가 0인 목록 항목의 경우 LazyListState 및 ScalingLazyListState의 PositionIndicator 처리를 수정했습니다. (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.placeholder 및 Modifier.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을 제공하는 새로운 OutlinedChip 및 OutlinedButton 컴포저블을 추가했습니다.
카드: 최신 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: CurvedTextStyle에 fontFamily, fontStyle, fontSynthesis 지원을 추가했으며 curvedText 및 basicCurvedText에서 사용할 수 있습니다.
CurvedText/TimeText: CurvedTextStyle의 생성자 및 복사 메서드에 fontWeight를 추가했습니다.
ToggleControls: ToggleChip 및 SplitToggleChip과 함께 사용할 애니메이션 Checkbox, Switch, RadioButton 전환 컨트롤을 추가했습니다. ToggleChipDefaults(switchIcon, checkboxIcon, radioIcon)에서 제공하는 정적 아이콘 대신 사용할 수 있습니다.
자리표시자: 실험용 자리표시자 지원을 추가했습니다. 여기에는 함께 작동하도록 설계된 세 가지 독특한 시각적 효과가 있습니다.
첫째, 컨테이너(칩, 카드 등)에 사용되는 자리표시자 배경 브러시 효과로, 콘텐츠가 로드되기를 기다릴 때 일반 배경 위에 그려집니다.
둘째, 로드 중인 콘텐츠 위에 경기장 모양의 자리표시자 위젯을 그리는 수정자(Modifier.placeholder())입니다.
셋째, 데이터가 로드되기를 기다리고 있음을 사용자에게 나타내기 위해 다른 효과 위에 그려지는 수정자 그래디언트/쉬머 효과(Modifier.placeholderShimmer())입니다.
이러한 모든 효과는 조화롭게 작동하고 희미하게 빛난 후 삭제되도록 설계되어 있습니다.
핵심 Compose 종속 항목이 1.2에서 1.3으로 업데이트되었습니다.
API 변경사항
이제 글꼴 매개변수(fontFamily, fontWeight, fontStyle, fontSynthesis)를 curvedText의 매개변수로 직접 지정할 수 있습니다. (Idc422)
버그 수정
curveText 및 basicCurvedText가 이제 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 변경사항
CurvedTextStyle에 fontWeight, fontFamily, fontStyle, fontSynthesis 지원을 추가했으며 curvedText 및 basicCurvedText에서 사용할 수 있습니다. 이러한 매개변수를 사용하면 곡선 텍스트에 사용할 글꼴과 스타일을 지정할 수 있습니다. (Iaa1a8), (I72759)
Modifier.offset과의 일관성을 위해 Modifier.scrollAway의 오프셋 매개변수를 Dp 단위로 업데이트했습니다(이전에는 픽셀 단위로 표시). 또한 LayoutModifier로 리팩터링하여 효율성을 개선했습니다. (I9f94b)
새로운 전환 컨트롤 API의 일환으로 RadioButton’s circleColor를 ringColor로 이름을 바꿨습니다. (I28fa9)
ToggleChip 및 SplitToggleChip과 함께 사용할 애니메이션 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에서 버튼으로 인식할 수 있도록 버튼 역할이 InlineSlider 및 Stepper에 추가되었습니다. (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에 포함된 커밋을 확인하세요.
새로운 기능
Chips 및 Buttons의 새로운 윤곽선 스타일을 추가하고 테두리가 얇은 투명한 Chip/Button을 제공하는 새로운 OutlinedChip 및 OutlinedButton 컴포저블을 추가했습니다(Id5972).
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에 포함된 커밋을 확인하세요.
기존 확장 애니메이션과 일치하도록 대화상자를 표시하거나 숨길 때 비네트의 표시 상태를 애니메이션으로 처리했습니다. (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에 포함된 커밋을 확인하세요.
기존 확장 애니메이션과 일치하도록 대화상자를 표시하거나 숨길 때 비네트의 표시 상태를 애니메이션으로 처리했습니다. (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()를 명시적으로 호출하는 것이 불필요하고 ScalinglazyColumn에 ListHeader()와 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)입니다. 이전 동작을 유지하려면 ScalingLazyColumn의 scalingParams를 재정의하면 됩니다. (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에 포함된 커밋을 확인하세요.
목록 항목이 열의 전체 너비를 채우지 않을 때 최대 가시성을 위해 정렬되도록 ScalingLazyColumn.horizontalAlignment 속성의 기본값을 Start에서 CenterHorizontally로 변경했습니다. 이전 동작으로 다시 전환하려면 horizontalAlignment = Alignment.Start를 설정하세요. (I9ed4b)
알려진 문제
CompactChip의 탭/터치 높이가 Material 접근성 가이드라인보다 작습니다. 이 문제는 다음 출시(6월 15일)에서 수정될 예정입니다. CompactChip을 사용하는 경우 이는 레이아웃에 영향을 미칩니다. 이제 CompactChips에 위아래로 패딩이 추가되기 때문입니다. 레이아웃을 조정 및 테스트하거나 버그 주석을 참고하여 기존 동작을 사용할 수 있는 해결 방법을 확인하세요. (b/234332135)
버그 수정
TimeText에서 시작 텍스트를 추가 또는 삭제하는 애니메이션을 만드는 새 데모 (I16d75)
HorizontalPageIndicator.PagesState 테스트를 추가합니다. (I64ed0)
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)
ScalingLazyColumn 및 Picker의 기본 맞추기 동작을 개선했습니다. (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은 콘텐츠(짧은 텍스트나 아이콘, 이미지)를 사용할 수 있는 단일 슬롯을 제공하고 선택 여부를 표시하는 색상과 다양한 아이콘이 포함된 켜기/끄기(선택/선택 해제) 상태가 있는 버튼입니다.
카드: 알림 등의 애플리케이션 관련 정보를 표시하는 데 사용합니다. 디자인은 여러 레이아웃을 제공하는 AppCard 및 TitleCard를 사용하여 다양한 사용 사례에 맞게 유연하며 카드 콘텐츠 또는 배경으로 이미지를 지원합니다.
칩: 버튼과 유사한 경기장 모양 구성요소이며, 라벨과 보조 라벨, 아이콘을 허용하기 위해 더 넓은 영역과 여러 슬롯이 있습니다. 크기가 다양하고 배경으로 이미지를 지원합니다.
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, curvedColumn을 CurvedLayout 내에 중첩하여 필요에 따라 요소를 배치할 수 있습니다. curvedRow의 경우 각도 레이아웃 방향과 방사형 정렬을 지정할 수 있습니다. curvedColumn의 경우 각도 정렬과 방사형 방향을 지정할 수 있습니다.
CurvedModifier: 모든 곡선 구성요소는 CurvedModifier를 사용하여 만들 수 있는 수정자 매개변수를 허용합니다. 배경, 크기, 두께, 패딩이 지원됩니다.
Wear Compose Navigation의 다음 구성요소도 포함되어 있습니다.
SwipeDismissableNavHost: Compose 계층 구조에서 독립된 탐색을 실행할 수 있는 장소를 제공하며 뒤로 탐색은 스와이프 동작으로 제공됩니다. 콘텐츠는 SwipeToDismissBox 내에 표시되어 현재 탐색 수준을 보여줍니다. 스와이프하여 닫기 동작 중에 이전 탐색 수준(있는 경우)이 백그라운드에 표시됩니다.
제공된 항목에 관한 자세한 내용은 다양한 알파 버전의 이전 출시 노트를 참고하세요.
API 변경사항
CurvedModifier.padding* 함수를 추가했습니다. 곡선 구성요소 주위에 추가할 공간을 지정하는 데 사용합니다. (I4dbb4)
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: Boolean을 autoCenter: AutoCentringParams로 대체했습니다. (Ia9c90)
색상이 아이콘/toggleControl 슬롯에 적용되므로 API 전체에서 iconTintColor 및 toggleControlTintColor를 iconColor 및 toggleControlColor로 이름을 바꿨습니다(Chip/ToggleChip/Dialog/Slider/Stepper/...). (Ied238)
PageIndicatorStyle enum을 값 클래스로 다시 작성합니다. (I2dc72)
개발자에게 레이아웃 가정이 무엇인지 나타내도록 컴포저블의 일부 슬롯에 RowScope/ColumnScope/BoxScope를 추가했습니다. 이를 통해 개발자는 일부 슬롯 콘텐츠에 추가 수정자를 사용할 수 있으며 추가 레이아웃 요소를 제공할 필요가 없습니다. 또한 timeColor 및 appColor가 contentColor로 기본 설정되도록 AppCard/TitleCard 색상을 약간 업데이트했습니다. 이러한 속성은 필요한 경우 모두 개별적으로 재정의할 수 있습니다. (I26b59)
InlineSlider 및 Stepper의 매개변수 순서를 수정합니다. API 가이드라인을 따르기 위한 간단한 변경사항입니다. (I11fec)
SwipeToDismissBoxState의 Saver 객체가 사용되지 않았으므로 삭제했습니다. (Ifb54e)
최신 UX 사양에 맞도록 CompactChip을 업데이트했습니다. 패딩은 가로 = 12.dp, 세로 = 0.dp로 줄었습니다. 라벨의 글꼴은 버튼에서 caption1로 변경했습니다. 권장 아이콘 크기는 아이콘과 라벨이 모두 존재할 때는 20x20이고 아이콘 전용 압축 칩의 경우에는 24x24입니다. 아이콘 전용 사용 사례의 경우에도 아이콘이 가운데 정렬되도록 했습니다. (Iea2be)
개발자가 적용된 contentPadding 및 autoCenteringPadding의 크기를 알 수 있도록 ScalingLazyListLayoutInfo에 새로운 필드를 여러 개 추가했습니다. 플링과 스크롤을 계산할 때 개발자에게 유용할 수 있습니다. (I7577b)
대화상자의 in/out 전환을 구현했습니다. showDialog 매개변수를 추가했으며 이제 대화상자가 자체 공개 상태를 제어합니다(이를 통해 대화상자가 표시되거나 숨겨질 때 대화상자에서 인트로 및 아우트로 애니메이션을 실행할 수 있음). 사용자가 스와이프하여 닫는 방법을 통해 대화상자를 닫으면 아우트로 애니메이션이 실행되지 않습니다. 최근에 추가된 SwipeToDismissBox 오버로드에 상태의 기본값도 추가했습니다. (I682a0)
i18n 및 a11y를 더 잘 지원하기 위해 ToggleChip과 SplitToggleChip을 변경하여 더 이상 toggleControl 슬롯의 기본값을 보유하지 않도록 했습니다. 또한 다음 메서드가 이제 아이콘이 아닌 ImageVector를 반환하도록 ToggleChipDefaults를 변경했습니다(더 이상 @Composables를 반환하지 않으므로 소문자로 시작하도록 변경됨). SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon(), RadioIcon()->radioIcon()을 통해 개발자는 적절한 contentDescription 세트로 자체 Icon() 컴포저블을 만들 수 있습니다. (I5bb5b)
SwipeDismissableNavHost에 SwipeDismissableNavHostState 매개변수를 추가했습니다. 이를 통해 탐색 대상으로 사용되는 화면에서 가장자리 스와이프를 사용할 수 있습니다. 이제 SwipeToDismissBoxState를 호이스팅하여 가장자리 스와이프가 필요한 화면에서 SwipeDismissableNavHostState와 Modifier.edgeSwipeToDismiss를 모두 초기화하는 데 사용할 수 있기 때문입니다. (I819f5, b/228336555)
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에 포함된 커밋을 확인하세요.
새로운 기능
SwipeToDismiss의 edgeSwipeToDismiss 수정자를 추가합니다. swipeToDismiss가 표시 영역의 왼쪽 가장자리에서만 활성화되도록 허용합니다. 지도를 2D 스크롤하거나 페이지 간에 가로로 스와이프하는 등 화면 중앙에서 가로 페이징을 처리할 수 있어야 하는 경우 사용됩니다. (I3fcec, b/200699800)
API 변경사항
CurvedModifiers 기본 구현을 사용하면 곡선 콘텐츠를 맞춤설정하는 방법을 소개할 수 있습니다. 그러나 CurvedModifiers는 아직 제공되지 않으며 맞춤 수정자를 만드는 기능은 나중에 사용할 수 있습니다. (I9b8df)
ScalingLazyList/Column 범위 및 정보 인터페이스는 외부 개발자의 구현을 목적으로 하지 않으므로 봉인됨으로 표시되었으며, 이를 통해 향후 바이너리 브레이킹 체인지 없이 새 멤버를 추가할 수 있습니다. (I7d99f)
RSB 지원 추가와 같은 플링 동작을 구성할 수 있도록 선택 도구와 PickerDefaults.flingBehaviour() 메서드에 새 flingBehaviour 속성을 추가했습니다. 이제 PickerState가 ScrollableState 인터페이스를 구현합니다. (Ib89c7)
버그 수정
Wear Compose 라이브러리의 Android 런타임(ART) 기준 프로필 규칙을 업데이트합니다. ART는 기기의 프로필 규칙을 활용하여 애플리케이션의 특정 하위 집합을 미리 컴파일함으로써 애플리케이션 성능을 개선할 수 있습니다. 디버그 가능한 애플리케이션에는 영향을 주지 않습니다. (Iaa8ef)
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 변경사항
CurvedRow를 CurvedLayout으로 이름을 바꾸고 DSL을 사용하는 범위로 재작업했습니다. 이 DSL을 사용하면 중첩된 curvedRow 및 curvedColumn(행 및 열에 상응하는 곡선 레이아웃)를 사용하여 좀 더 복잡한 곡선 레이아웃을 지정할 수 있습니다. 이러한 레이아웃 요소 안에서 다음과 같은 세 가지 요소를 사용할 수 있습니다. curvedComposable(@Composable 추가), basicCurvedText(Foundation의 곡선 텍스트), curvedText(Wear 머티리얼 인식 곡선 텍스트) (Ib776a)
PositionIndicator의 측면을 구성 가능하도록 합니다. 이제 기본 PositionIndicator의 위치가 End(레이아웃 방향 인식), OppositeRsb(화면 회전을 고려하여 실제 RSB와 반대로 배치됨), 절대 Left 및 Right로 구성될 수 있습니다. (I2f1f3)
SwipeToDismissBox의 경우 SwipeDismissTarget.Original을 SwipeToDismissValue.Default로, SwipeDismissTarget.Dismissal을 SwipeToDismissValue.Dismissed로 이름을 바꿨습니다. SwipeToDismissBoxDefaults.BackgroundKey 및 SwipeToDismissBoxDefaults.ContentKey도 각각 SwipeToDismissKeys.Background, SwipeToDismissKeys.Content로 이동했습니다. (I47a36)
선택 도구가 여러 개이며 한 번에 선택 도구 하나만 수정할 수 있는 화면의 경우 읽기 전용 모드를 선택 도구에 추가했습니다. 선택 도구가 읽기 전용인 경우 현재 선택된 옵션과 라벨이 제공된 경우 라벨이 표시됩니다. (I879de)
ExperimentalWearMaterialApi 범위를 현재 내부적으로 사용되는 Modifier.swipeable 및 SwipeableState로 제한하도록 SwipeToDismissBoxState를 리팩터링했습니다. 이제 일반적인 사용 사례를 지원하도록 SwipeToDismissBoxState에 currentValue, 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와의 일관성을 위해 전체 화면 대화상자 구성요소에 이제 PositionIndicator 및 Vignette가 표시됩니다. 또한 이제 Column 대신 ScalingLazyColumn을 사용합니다. 즉, 대화상자 콘텐츠가 이제 ScalingLazyListScope에 있으며 일반적으로 항목 { /* content */ }로 묶어야 합니다. 대화상자는 적절하게 verticalArrangement 매개변수를 지원합니다. (Idea13)
디자이너와 개발자가 API를 탐색하는 데 도움이 되도록 ToggleChip 및 SplitToggleChip toggleIcon 속성의 이름을 toggleControl로 변경하여 Material Design과 더 잘 일치하도록 했습니다. (If5921, b/220129803)
Wear Material Theme 유형 분류 체계에 새 항목 caption3를 추가했습니다. caption3는 법적 텍스트와 같이 매우 긴 형식의 글쓰기에 사용되는 작은 글꼴입니다. (I74b13, b/220128356)
UI/UX 피드백에 따라 ScalingLazyColumn autoCentering을 변경했습니다. 따라서 색인이 ScalingLazyListState.initialCenterItemIndex 이상인 항목을 표시 영역의 중앙으로 완전히 스크롤할 수 있도록만 충분한 공간을 제공합니다. 이를 통해 개발자는 처음에 중앙에 있는 항목에 관해 한두 개의 항목을 배치할 수 있고 이는 가운데로 스크롤할 수 없습니다. 즉, autoCentering ScalingLazyColumn이 initialCenterItemIndex/initialCenterItemScrollOffset 위로 스크롤할 수 없습니다. (I22ee2)
날짜 선택 도구의 데모를 추가하고, 선택 도구가 표시될 때까지 initiallySelectedOption이 적용되지 않는 PickerState의 버그를 수정했습니다. (Id0d7e)
원형 화면에서 더 넓은 ScalingLazyColumn 항목의 클리핑을 줄이기 위해 기본 가로 콘텐츠 패딩을 8dp에서 10dp로 늘렸습니다. (I0d609)
androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17 및 androidx.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)
이제 ScalingLazyListLayoutInfo에 LazyListLayoutInfo의 reverseLayout, viewportSize 및 방향 속성과 일치하는 속성이 있습니다. (I4f258, b/217917020)
이제 ScalingLazyColumn에 LazyList의 userScrollEnabled와 일치하는 속성이 있습니다. (I164d0, b/217912513)
더 이상 상위 요소의 공간을 모두 채우지 않도록 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-alpha16 및 androidx.wear.compose:compose-navigation:1.0.0-alpha16이 출시되었습니다. 버전 1.0.0-alpha16에 포함된 커밋을 확인하세요.
새로운 기능
CircularProgressIndicator를 추가합니다. 진행률 표시기에 프로세스의 길이 또는 지정되지 않은 대기 시간이 표시됩니다. 전체 화면으로 사용된다면 TimeText 또는 기타 구성요소의 간격(컷아웃)을 지원합니다.
(Iab8da)
API 변경사항
이제 선택 도구에 flingBehavior 매개변수가 있으며 기본값으로 인해 스크롤/플링 시 가장 가까운 옵션으로 맞춰집니다. (I09000)
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(이전 구성요소 AlertDialog 및 ConfirmationDialog에서 이름이 바뀜)이어야 하며, Alert, Confirmation, Dialog는 모두 androidx.wear.compose.material.dialog 패키지에 포함되어 있습니다. 알림 및 확인은 탐색 대상으로 사용할 수 있습니다. 또한 필요에 따라 알림 및 확인 매개변수에 ColumnScope를 추가했습니다. (Ia9014)
측면 버튼이 회전하는 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.ItemCenter가 ScalingLazyList에 추가되었습니다.
따라서 ScalingLazyListItemInfo.offset과 ScalingLazyListItemInfo.adjustedOffset이 변경되었으며 이제 목록 항목의 위치 및 목록의 anchorType 모두와 관련하여 항목의 오프셋을 반영합니다. 예를 들어 anchorType이 ItemCenter인 ScalingLazyColumn 및 표시 영역 중심선에 목록 항목의 가운데가 배치된 경우 오프셋은 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-alpha13 및 androidx.wear.compose:compose-navigation:1.0.0-alpha13이 출시되었습니다. 버전 1.0.0-alpha13에 포함된 커밋을 확인하세요.
API 변경사항
RangeIcons를 내부로 이동했습니다(InlineSlider 및 Stepper에서 내부적으로 참조함). (I927ec)
버그 수정
SwipeDismissableNavHost가 CREATED 수명 주기 상태에 도달하기 전에 Compose 계층 구조에 대상을 추가하여 IllegalStateException이 발생하는 문제가 수정되었습니다. 이 수정사항은 navigation-compose의 종속 항목을 2.4.0-beta02 이상으로 업데이트하기 위한 필수 조건이었습니다. (I40a2b, b/207328687)
Wear Compose 라이브러리 내에서 드로어블 리소스를 가져오기 위해 드로어블 enum 클래스를 추가했으므로 리플렉션이 더 이상 필요하지 않습니다. minifyEnabled=true 또는 shrinkResources=true일 때 라이브러리 드로어블이 삭제되던 버그가 수정되었습니다. (Ib2a98)
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)
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)
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)
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)
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)
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)
콘텐츠가 업데이트될 때 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)
ScalingLazyColumn에 reverseLayout 지원을 추가했습니다. 이를 통해 스크롤 및 레이아웃 방향을 반대로 할 수 있습니다. (I9e2fc)
performGesture와 GestureScope은 지원 중단되었으며 performTouchInput과 TouchInjectionScope으로 대체되었습니다. (Ia5f3f, b/190493367)
VignetteValue를 VignettePosition으로, VignetteValue.Both를 VignettePosition.TopAndBottom으로 이름을 바꿨습니다. (I57ad7)
향후 ScalingLazyRow 구현을 추가할 경우에 대비하여 ScalingLazyColumnState를 ScalingLazyListState로, ScalingLazyColumnItemInfo를 ScalingLazyListItemInfo로, ScalingLazyColumnLayoutInfo를 ScalingLazyListLayoutInfo로, ScalingLazyColumnScope을 ScalingLazyListScope으로 이름을 바꿨습니다. (I22734)
버그 수정
아이콘과 라벨이 모두 제공되지 않으면 발생하는 내용을 설명하도록 CompactChip 문서를 업데이트했습니다. (I4ba88)
androidx.wear.compose:compose-foundation:1.0.0-alpha05 및 androidx.wear.compose:compose-material:1.0.0-alpha05가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
이제 ScalingLazyColumnState가 ScrollableState 인터페이스를 구현하여 개발자에게 구성요소를 스크롤할 수 있는 프로그래매틱 액세스 권한을 제공합니다. (I47dbc)
버그 수정
칩과 ToggleChip에서 아이콘과 텍스트 사이 간격을 줄여 UX 사양 업데이트와 일치하도록 했습니다. (I83802)
버전 1.0.0-alpha04
2021년 8월 18일
androidx.wear.compose:compose-foundation:1.0.0-alpha04 및 androidx.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)
androidx.wear.compose:compose-foundation:1.0.0-alpha03 및 androidx.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-alpha02 및 androidx.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)
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-alpha01 및 androidx.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) 웨어러블 기기에 권장하지 않는 구성요소를 사용하고 있는 것입니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.