Wear Compose
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2024년 11월 13일 | 1.4.0 | - | - | 1.5.0-alpha06 |
종속 항목 선언
Wear의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { implementation "androidx.wear.compose:compose-foundation:1.4.0" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.4.0" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.4.0" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Kotlin
dependencies { implementation("androidx.wear.compose:compose-foundation:1.4.0") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.4.0") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.4.0") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
Wear Compose Material3 버전 1.0
버전 1.0.0-alpha29
2024년 11월 13일
androidx.wear.compose:compose-material3:1.0.0-alpha29
이 출시되었습니다. 버전 1.0.0-alpha29에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 시간을 표시하는 기본 콘텐츠를 제공하도록
TimeText
를 업데이트했습니다. (Id23b3) - 더 이상 필요하지 않은
orientation
매개변수를 삭제하여PagerState
의ScrollInfoProvider
를 간소화했습니다. 새 동작은TimeText
가 가로 및 세로 페이징 모두에서 제자리에 유지되는 것입니다. (I71767) - 이제
LocalHapticFeedback
는 Vibrator API가 햅틱이 지원된다고 표시하면 기본HapticFeedback
구현을 제공합니다.HapticFeedbackType
에Confirm
,ContextClick
,GestureEnd
,GestureThresholdActivate
,Reject
,SegmentFrequentTick
,SegmentTick
,ToggleOn
,ToggleOff
,VirtualKey
가 추가되었습니다. 이제 Wear Compose의 길게 클릭 가능한 구성요소(예:Button
,IconButton
,TextButton
,Card
)가 길게 클릭 핸들러가 제공된 경우LONG_PRESS
햅틱을 실행합니다. (I5083d)
버그 수정
- 확인 동작을 업데이트했습니다. (I04bff)
- Compose 라이브러리의 최소 API 종속 항목을 1.7.4로 업데이트했습니다. (I88b46)
OpenOnPhone
대화상자에 새로운 모션이 추가되었습니다. (I1e10a)- 이제 수준이 0으로 올바르게 표시되도록
LevelIndicator
의 버그를 수정했습니다. (Ie95a4) HorizontalPageIndicator
및VerticalPageIndicator
애니메이션을 업데이트했습니다. (I5c8f3)- 불확정
ArcProgressIndicator
에 점으로 축소 애니메이션을 추가했습니다. (I9fd51)
버전 1.0.0-alpha28
2024년 10월 30일
androidx.wear.compose:compose-material3:1.0.0-alpha28
이 출시되었습니다. 버전 1.0.0-alpha28에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 확실하지 않은 원형 진행률 표시기 (I2efc1)에 원호 변형을 추가했습니다.
- 필요한 경우 맞춤설정을 추가할 수 있도록 (예: 권장 콘텐츠 레이아웃을 유지하면서
AlertDialog
애니메이션을 맞춤설정)AlertDialog
API를 구성하는AlertDialogContent
및Dialog
컴포저블을 공개했습니다. 또한AlertDialogDefaults
의EdgeButton
,ConfirmButton
,DismissButton
구성원에Modifier
및Color
매개변수를 추가했습니다. (I4eb71) Placeholder
API를 다음과 같이 업데이트했습니다.PlaceholderState.startPlaceholderAnimation
의 이름을PlaceholderState.animatePlaceholder
로,PlaceholderState.isShowContent
의 이름을PlaceholderState.isHidden
로,PlaceholderDefaults.shape
의 이름을PlaceholderDefaults.Shape
로 변경했습니다.painterWithPlaceholderOverlayBackgroundBrush
의painter
매개변수 이름을originalPainter
로 변경했습니다.PlaceholderState.placeholderProgression
의 공개 상태를 공개에서 내부로 변경하고 이름을placeholderShimmerProgression
로 변경했습니다. 자리표시자 애니메이션 시간 상수를PlaceholderDefaults
에 추가했습니다. (Ie5a59)EdgeButton
API를 다음과 같이 업데이트했습니다.ScreenScaffold
의 매개변수 이름을bottomButton
에서edgeButton
로 변경하고EdgeButtonSize
를 값 클래스로 만들었습니다. (Ieef15)- Wear Material3 Colors 클래스에서
copy()
의 공개 상태를 공개로 변경했습니다. (I0287f)
버그 수정
- 클릭 시
IconToggleButton
및TextToggleButton
의 최소 애니메이션 시간을 추가했습니다. (Ieb333) IconButton
및TextButton
도형 애니메이션에 최소 시간 추가 (Iebcee)DatePicker
의 반복 옵션 상태를 수정했습니다. (I3587c)- 알림 및 확인 대화상자에 모션이 추가되었습니다. (I173b1)
버전 1.0.0-alpha27
2024년 10월 16일
androidx.wear.compose:compose-material3:1.0.0-alpha27
이 출시되었습니다. 버전 1.0.0-alpha27에는 이 커밋이 포함되어 있습니다.
API 변경사항
- Wear Compose Foundation
LazyColumn
의 이름을TransformingLazyColumn
로 변경한 후ScreenScaffold
및ScrollIndicator
를 업데이트했습니다. int입니다. (I0608b) EdgeButton
의preferredHeight
매개변수 이름이buttonSize
로 변경되었으며, 값은 새로 도입된EdgeButtonSize
값 클래스의 4개 상수 중에서만 선택할 수 있습니다. (Icdd70)ListSubheader
의 이름을ListSubHeader
로 변경하고ListHeader
및ListSubHeader
에 공개적으로 액세스할 수 있는 기본값을 추가했습니다. (I96730)- 시간 텍스트와 페이지 표시기 구성요소 간에 새로운 애니메이션과 조정을 제공하는 Wear용 새
HorizontalPagerScaffold
및VerticalPagerScaffold
구성요소를 추가했습니다. (Iff7d0) - 사용자가 로터리 입력 장치를 사용하여 페이저를 탐색할 수 있도록
HorizontalPagerScaffold
및VerticalPagerScaffold
에 로터리 지원을 추가했습니다. (I9770d) - 사용을 간소화하고 일관성을 개선하기 위해
MotionScheme
API를 변경했습니다. 인라인화된 remember 함수를 삭제하고 내장 모션 스키마를 전용 MotionScheme 컴패니언 객체로 이동했습니다.standardMotionScheme
및expressiveMotionScheme
의 이름을 표준 및 표현식으로 변경했습니다. (I5fd45) - 시스템 색상을 기반으로 하는 동적 색 구성표 지원을 추가했습니다. (I073e9)
- 스테퍼를 최신 UX 사양으로 업데이트했습니다. (I622bb)
버그 수정
- 카드 구성요소의 서체 및 패딩이 업데이트되었습니다. (I3ae48)
- UX 사양에 따라
AlertDialog
의 확인/닫기 버튼과 나머지 콘텐츠 사이의 패딩을 8dp에서 12dp로 변경했습니다. (Ie55f0) - 슬라이더 구성요소의 색상 불투명도가 업데이트되었습니다. (Idb383)
버전 1.0.0-alpha26
2024년 10월 2일
androidx.wear.compose:compose-material3:1.0.0-alpha26
이 출시되었습니다. 버전 1.0.0-alpha26에는 이 커밋이 포함되어 있습니다.
API 변경사항
HorizontalPageIndicator
의 API 및 모양을 업데이트하고VerticalPager
와 함께 사용할 수 있는VerticalPageIndicator
를 추가했습니다. (Ic9309)- 이제
AlertDialog
는 EdgeButton이 필요하지 않은 맞춤 레이아웃의 경우 버튼 스택 변형에서 기본 하단 버튼을 생략하는 기능을 지원합니다. (I34fa9) - Wear Material 3용
SwipeToReveal
구성요소를 추가했습니다. (Ic38b2) - 현재 화면에서 스와이프하여 닫기를 지원하지 않는 드문 경우를 위해
SwipeToReveal
에 양방향 스와이프 지원이 추가되었습니다. 기본값은 여전히 오른쪽에서 왼쪽으로 스와이프할 때만 스와이프하여 표시하는 것이며, 닫기 스와이프와 충돌하지 않도록 기본 동작을 따르는 것이 좋습니다. (Ifac04) EdgeButton
의buttonHeight
매개변수 이름을preferredHeight
로 바꾸었습니다. (I4fab3)- Kotlin 버전이 1.9 (I1a14c)로 업데이트되었습니다.
Icon
와 충돌하지 않도록OpenOnPhoneDialogDefaults.Icon
의 이름을OpenOnPhoneDialogDefaults.OpenOnPhoneIcon
로 바꿨습니다. (I0f391)LazyColumn
에ScrollIndicator
지원을 추가했습니다. (Ia546a)TextToggleButton
및IconToggleButton
의 기본값이 업데이트되었습니다. (I7aaa9)Picker
및PickerGroup
API를 간소화했습니다. (Id0653)- 토큰이므로 라이브러리를 사용하는 개발자에게 비공개였던
CardDefaults.Shape
및CardDefaults.Height
를 추가했습니다. (I1594a, b/347649765) - 바이너리 세그먼트 원형 진행률 표시기의 진행률 매개변수 이름을
segmentValue
로 변경했습니다. (Ib72d9) - 슬라이더의 색상과 레이아웃이 업데이트되었습니다. (Ic3eec)
버그 수정
openOnPhone
아이콘 애니메이션을 업데이트했습니다. (I66f85)- 이제
Slider
,TimePicker
,DatePicker
에서 Google 기호 아이콘을 사용합니다. (I46c7c) Confirmation
및OpenOnPhoneDialog
의 패딩이 업데이트되었습니다. (Iaa82e)
버전 1.0.0-alpha25
2024년 9월 18일
androidx.wear.compose:compose-material3:1.0.0-alpha25
이 출시되었습니다. 버전 1.0.0-alpha25에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 확실하지 않은 원형 진행률 표시기를 추가했습니다. (I427a7)
CircularProgressIndicator
및SegmentedCircularProgressIndicator
모두에 진행률 오버플로(100% 를 초과하는 진행률) 지원을 추가했습니다. 진행률이 1.0을 초과하면 새로운overflowTrack
색상으로 표시됩니다. (Iaaa3d)- 이제 원형
IconToggleButton
및TextToggleButton
는 다양한 도형이 선택됨, 선택 해제됨, 눌림 상태를 나타내는 새로운 도형 애니메이션 변형을 지원합니다. 방금 눌린 상태의 이전 애니메이션 도형 변형은 계속 지원됩니다. (I29f03) ScreenScaffold
에서EdgeButton
높이를 명시적으로 지정해야 하므로Column
와 함께EdgeButton
를 사용하는 지원이 삭제되었습니다. (Ie353d)ScreenScaffold
를 사용하여 Wear ComposeLazyColumn
지원을 추가하고LazyColumnState
용ScrollInfoProvider
구현을 추가했습니다. (Ib8d29)- 앞으로 더 확장 가능한 솔루션을 제공하기 위해
LocalTextMaxLines
,LocalTextAlign
,LocalTextOverflow
를 단일LocalTextConfiguration
로컬 컴포지션으로 결합했습니다. (I5edbc) - 확인 오버레이와 같이 화면 상단이나 하단에 있는 짧은 헤더 텍스트 문자열에만 사용되는 추가 유형 크기인 arc-large가 추가되었습니다. (I60e3e)
- 권장되는 대형 및 초대형 아이콘 크기와 콘텐츠 패딩을 위한 기본값이 Button에 추가되었습니다. (I84675)
버그 수정
IconButton
및TextButton
의 색상이 업데이트되었습니다. (I48324)- 다른 오버로드와 일관성을 위해 기본 Button 오버로드를 세로로 가운데 정렬되도록 변경했습니다. 이전 동작을 복원하려면
RowScope
의Modifier.align
를 사용하세요. (I66e57)
버전 1.0.0-alpha24
2024년 9월 4일
androidx.wear.compose:compose-material3:1.0.0-alpha24
이 출시되었습니다. 버전 1.0.0-alpha24에는 이 커밋이 포함되어 있습니다.
API 변경사항
- Material3 테마에 모션 스키마가 추가되었습니다. 이는 라이브러리 전반의 구성요소에서 표현적인 모션을 위한 스프링과 같은 애니메이션 사양을 적용하는 데 사용됩니다. (I54ff3)
- Material3 라이브러리에
TimeText
및ScrollIndicator
의 레이어링 및 전환을 조정하는 기능을 포함하는AppScaffold
및ScreenScaffold
구성요소를 추가했습니다.AppScaffold
는 모든 화면 위에 있는 최상위 스캐폴드 구성요소를 제공합니다. 따라서AppScaffold
에TimeText
를 추가하면 화면 간에 스와이프하는 동안 제자리에 유지됩니다. 화면 자체에서 시간 텍스트를 재정의하거나 숨길 수 있습니다.ScreenScaffold
는ScrollIndicator
의 슬롯을 제공하고 스크롤 시 스크롤 표시기를 자동으로 애니메이션 처리합니다. 여기에는 비활성 상태 후 스크롤 표시기를 숨기는 제한 시간도 포함됩니다. (I047d6) - 새로운 Material3 디자인을 사용하는
ScrollIndicator
가 추가되었습니다. 지연 콘텐츠가 목록에 로드될 때 크기가 달라지는 것을 방지하기 위해 초기 목록 콘텐츠를 기반으로 고정된 썸네일 크기가 있습니다. (Ic228d) - 향후 필요에 따라 추가 단계를 추가할 수 있도록
ScreenStage
가 enum 클래스가 아닌 값 클래스가 되도록ScrollAway
API를 변경했습니다. (I48c93) - 화면 하단의 곡선을 따르는 모양의 고유한 Wear 전용 버튼인
EdgeButton
를 추가했습니다. (I16369) - 스크롤 콘텐츠에 따라 표시되고 크기가 조절되는 하단 버튼 (예:
EdgeButton
)의 새 슬롯을ScreenScaffold
에 추가했습니다. (I032eb) LazyColumn
의 항목에 Material3 모션 효과를 추가하기 위해Modifier.scrollTransform
및Modifier.targetMorphingHeight
를 추가했습니다. (Ie229a)CircularProgressIndicator
의 변형으로SegmentedCircularProgressIndicator
를 추가했습니다. 세그먼트화된 변형은 모든 세그먼트에 단일 진행률 값을 표시하거나 각 세그먼트를 켜거나 끌 수 있도록 표시합니다. (I6e059)- 기존
CircularProgressIndicator
의 대안으로LinearProgressIndicator
를 추가했습니다. (I89182) - 사용자에게 중요한 프롬프트를 표시하는 레이아웃을 제공하는
AlertDialog
를 추가했습니다. 확인/닫기 버튼 쌍 또는 옵션 스택 아래에 있는 단일 하단 버튼 (일반적으로 EdgeButton)의 변형이 포함됩니다. 두 가지 변형 모두 세부정보를 제공하는 아이콘, 제목, 추가 텍스트 슬롯이 있습니다. (Ieb873) - 사용자의 휴대전화에서 계속되는 작업을 나타내는 데 사용해야 하는
OpenOnPhoneDialog
를 추가했습니다.OpenOnPhoneDialog
는 지정된 시간 초과 후 닫힙니다. (I978fd) - 아이콘과 곡선 또는 선형 텍스트용 슬롯이 있는 대화상자 구성요소인
Confirmation
를 추가했습니다. 성공/실패 메시지에 관한 구체적인 변형이 제공됩니다. 확인 메시지는 시간이 초과하면 자동으로 닫힙니다. (Ib43e8) - 기본 콘텐츠와
TimeText
가 겹쳐져 시간이 가려지는 문제를 완화하기 위해TimeText
에 배경을 추가했습니다. (Ia11fd) - 볼륨과 같은 설정의 값을 표시하고 기존
Stepper
구성요소와 함께 사용하여 볼륨 화면을 구성할 수 있는LevelIndicator
를 추가했습니다.LevelIndicator
는ScrollIndicator
와 유사하지만 화면의 반대쪽에 표시되며 기본적으로 더 넓은 획 너비와 다른 표시기 색상을 갖습니다. (I8a4ac) - 24시간 형식 (초 포함 또는 제외) 또는 AM/PM 선택이 있는 12시간 형식의 레이아웃이 포함된
TimePicker
가 추가되었습니다. (Ia5124) - 열 순서 (예: 일-월-년, 월-일-년 또는 년-월-일) 및 선택적 최솟값/최댓값 날짜를 구성하는
DatePicker
를 추가했습니다. (Ibf13b) TimeText
의text
함수에 가중치 매개변수를 추가했습니다. TimeText가 두 개 이상의 텍스트 요소로 구성된 경우 공백이 배포되는 방식을 제어할 수 있습니다. (I36700)RadioButton
및SplitRadioButton
를 추가했습니다. 이 구성요소는 (분할)SelectableButton
와 하위 라디오 컨트롤 (If7ae8)을 결합하여 이전 API를 간소화합니다.CheckboxButton
및SplitCheckboxButton
를 추가했습니다. 이 구성요소는 (분할)ToggleButton
와 하위 체크박스 컨트롤 (Ia8f70)을 모두 결합하여 이전 API를 단순화합니다.SwitchButton
및SplitSwitchButton
를 추가했습니다. 이 구성요소는(Split)ToggleButton
와 하위 스위치 컨트롤을 모두 결합하여 이전 API를 단순화합니다. (I0d349)- 오버슈팅 동작을 설명하도록
AnimatedText
문서를 업데이트했습니다. (Iff30a) - 버튼을 누르면 조정된 애니메이션이 재생되도록 2~3개의 버튼을 결합하는
ButtonGroup
를 추가했습니다. (Ie27db) - 눌렀을 때
IconButton
및TextButton
에 선택적 도형 애니메이션을 추가했습니다. (Iffca5) Button
,IconButton
,TextButton
,CompactButton
,EdgeButton
에 색상 변형FilledVariant
가 추가되었습니다. (I65fc3)- 이제 버튼 이미지 배경이 기본적으로 구성요소 크기를 유지하도록
ImageWithScrimPainter
에forcedSize
매개변수를 추가했습니다.forcedSize = null
를 설정하면 대신Painter.instrinsicSize
가 채택됩니다. (Ic57af) - 버튼에 길게 누르기가 추가되었습니다. (Ib613d)
IconButton
및TextButton
에 길게 클릭 지원도 추가되었습니다. (I38891)- 카드에 길게 누르기 지원이 추가되었습니다. (I305d5)
LocalTextMaxLines
,LocalTextAlign
,LocalTextOverflow
를CompositionLocals
로 추가하고Text
에서 매개변수 기본값으로 사용했습니다. 이제CheckboxButton
,SwitchButton
,RadioButton
와 같은 구성요소에서 컴포지션 로컬을 사용하여 UX 가이드를 구현할 수 있지만, 필요한 경우 개발자가 매개변수를 재정의할 수 있습니다. (Iab841)- 데이터가 로드될 때까지 버튼 및 카드와 같은 구성요소의 콘텐츠를 마스킹하는 데 도움이 되는
Placeholder
를 추가했습니다. (I1a532) - 이제 삭제된
ToggleButtonColors
를 대체하기 위해IconToggleButtonColors
및TextToggleButtonColors
를 추가했습니다. (Ie0bf1)
버그 수정
- 새로운
CompositionLocals
LocalTextMaxLines
,LocalTextAlign
,LocalTextOverflow
을 사용하여 UX 가이드를 구현하도록Button
,FilledTonalButton
,OutlinedButton
,ChildButton
,CompactButton
를 업데이트했습니다. 필요한 경우 개발자가 텍스트에서 직접 이러한 매개변수를 재정의할 수 있습니다. (Ie51f7) - 획 너비가
4dp
인ScrollIndicator
와 구별하기 위해LevelIndicator
의 기본 획 너비를6dp
로 변경했습니다. (If6f63) - 더 큰 스윕 각도가 지원되도록
TimeText
의 문제가 수정되었습니다. (Ie489f) EdgeButton
재구성 중에 발생하는 문제를 수정했습니다. (I4cdca)- 맞춤 콘텐츠 패딩이 제공된 경우 분할 전환 버튼의 레이아웃을 수정했습니다. (Ia33d3)
- 작은 진행률 값을 진행률 표시기의 선 너비 이상으로 올림합니다. (I3bd84)
버전 1.0.0-alpha23
2024년 5월 14일
androidx.wear.compose:compose-material3:1.0.0-alpha23
이 출시되었습니다. 버전 1.0.0-alpha23에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 사용 중지된 색상을 구성할 수 있도록
ToggleButton
및RadioButton
API가 업데이트되었습니다. (If13a7) - Material3에 새로운
CircularProgressIndicator
를 추가했습니다. (Ib3bd7)
버그 수정
- 선택 가능한 버튼이 이미 선택된 상태에서 전환하려면 두 번 탭하라고 안내하는 버그를 수정했습니다. (I7ed88)
버전 1.0.0-alpha22
2024년 5월 1일
androidx.wear.compose:compose-material3:1.0.0-alpha22
이 출시되었습니다. 버전 1.0.0-alpha22에는 이 커밋이 포함되어 있습니다.
API 변경사항
- Material3
ColorScheme
를 업데이트했습니다. (I7b2b8) - Material3 스위치가 업데이트되었습니다. 색상이 일부 변경되었으며 이제 체크표시는 체크박스에 사용된 것과 일치합니다. (Icac7b)
버그 수정
- 새
rotaryScrollable
수정자를 사용하도록 모든 통합 데모를 업데이트합니다. (I25090)
버전 1.0.0-alpha21
2024년 4월 17일
androidx.wear.compose:compose-material3:1.0.0-alpha21
이 출시되었습니다. 버전 1.0.0-alpha21에는 이 커밋이 포함되어 있습니다.
- 이 출시는 이전 버전의 기술적 문제로 인해 소스 jar가 누락되어 트리거되었습니다. 이 출시에는 새로운 커밋이 없습니다.
버전 1.0.0-alpha20
2024년 4월 3일
androidx.wear.compose:compose-material3:1.0.0-alpha20
이 출시되었습니다. 버전 1.0.0-alpha20에는 이 커밋이 포함되어 있습니다.
버그 수정
- 대비를 위해 리플 눌림 및 포커스 상태 알파를 조정했습니다. (I59f0a)
- 서체 스타일 및 줄 높이에 대한 최근 변경사항에 따라
Button
,ToggleButton
,RadioButton
에서 기본 라벨과 보조 라벨 간에 간격을 추가했습니다. (I2c0ba)
버전 1.0.0-alpha19
2024년 3월 6일
androidx.wear.compose:compose-material3:1.0.0-alpha19
이 출시되었습니다. 버전 1.0.0-alpha19에는 이 커밋이 포함되어 있습니다.
API 변경사항
- Wear Compose Material3 라이브러리에
TimeText
를 추가했습니다. 이 구성요소는 화면 상단에 현재 시간과 추가 상태를 표시합니다. 간결한 새로운 Material3 API를 사용하면 선형 콘텐츠와 곡선 콘텐츠 간에 중복이 발생하지 않습니다. (I4d7c3) RadioButton
의 매개변수 이름을onSelected
에서onSelect
로 업데이트했습니다. (I1a971)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에 포함된 커밋을 확인하세요.
API 변경사항
- 기본적으로
buttonColors
를 사용하도록 Button API를 업데이트하고 중복된filledButtonColors
를 삭제했습니다. (I4fe3b) - 내부적으로 캐시된 인스턴스를 만들고
CompositionLocal
사용량을 줄여ButtonColors
,IconButtonColors
,TextButtonColors
의 기본 패턴을 리팩터링했습니다. (I5f51c) - 구성요소별 색상 클래스에서
rememberUpdatedState
의 오버헤드를 삭제하고 색상 클래스 내의 접근자 메서드를 내부로 표시했습니다. (If6571)
버그 수정
Modifier.node
을 사용하도록Modifier.minimumInteractiveComponentSize
를 업데이트했습니다. (Iba6b7)
버전 1.0.0-alpha16
2024년 1월 24일
androidx.wear.compose:compose-material3:1.0.0-alpha16
이 출시되었습니다. 버전 1.0.0-alpha16에 포함된 커밋을 확인하세요.
새로운 기능
- 버튼과 동일한 채움, 채움 색조, 윤곽선 색상을 사용할 수 있는
CompactButton
를 추가했습니다.(I05df0)
API 변경사항
RadioButton
/SplitRadioButton
를 라디오 컨트롤과 같은 선택 컨트롤의 컨테이너로 추가했습니다.RadioButton
는 선택 가능하고 (선택 그룹 내에서 작동)ToggleButton
는 전환 가능하며 (독립적) 기존ToggleButton
와 다릅니다. (I61275)- Compose Material3 라이브러리와 일관성을 유지하기 위해 Wear Compose Material3 라이브러리에서
LocalContentAlpha
를 삭제합니다. (I49a0a) - API에
MutableInteractionSource
를 노출하는 Wear Material 및 Wear Material3 구성요소가 업데이트되어 기본값이 null인 null 허용MutableInteractionSource
를 노출합니다. 여기서는 의미론적 변경사항이 없습니다. null을 전달하면MutableInteractionSource
를 호이스팅하지 않겠다는 의미이며 필요한 경우 구성원 내에서 생성됩니다. null로 변경하면 일부 구성요소는MutableInteractionSource
를 할당하지 않을 수 있고 다른 구성요소는 필요할 때만 인스턴스를 지연 생성할 수 있으므로 이러한 구성요소의 성능이 개선됩니다. 이러한 구성요소에 전달하는MutableInteractionSource
를 사용하지 않는 경우 대신 null을 전달하는 것이 좋습니다. 자체 구성요소에서도 유사한 변경사항을 적용하는 것이 좋습니다. (Ib90fc, b/298048146) - 지원 중단된
rememberRipple
를 대체하는 새로운 리플 API를wear:compose-material
및wear:compose-material3
라이브러리에 추가합니다. 또한 Material 구성요소를 지원 중단된rememberRipple/RippleTheme
API를 사용하도록 되돌리는 임시CompositionLocal
,LocalUseFallbackRippleImplementation
를 추가합니다. 이 기능은 다음 안정화 버전에서 삭제되며 맞춤RippleTheme
를 제공하는 케이스의 일시적인 이전 지원용으로만 제공됩니다. 이전 정보와 이 변경사항에 관한 자세한 배경 정보는 developer.android.com을 참고하세요. (af92b21) HorizontalPageIndicator
API 및 문서가 약간 개선되었습니다. (I60efc)ColorScheme
를 변경 불가능한 것으로 업데이트하여 개별 색상 업데이트의 효율성이 떨어졌지만 색상의 일반적인 사용은 더 효율적으로 되었습니다. 이번 변경사항의 이유는 대부분의 앱에서 개별 색상 업데이트를 주요 사용 사례로 사용하지 않기 때문입니다. 이는 여전히 가능하지만 이전보다 더 많이 재구성되므로 모든 Material 코드를 통해 상태 구독의 양이 크게 줄어들고 더 많은 표준 사용 사례의 초기화 및 런타임 비용에 영향을 미칩니다. (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 변경사항
- Foundation 수준
SwipeToDismissBox
의 이름을BasicSwipeToDismissBox
로 바꾸었습니다. 이렇게 하면 Foundation 수준 구성요소와 Material3 수준SwipeToDismissBox
를 더 명확하게 구분할 수 있습니다. 후자는 스크림에 사용할 색상을MaterialTheme
에서 가져오고 나머지 구현은BasicSwipeToDismissBox
에 위임합니다. (Ibecfc)
버그 수정
- 성능을 개선하기 위해 Material3 버튼의 material-core 레이어가 삭제되었습니다. (I55555)
버전 1.0.0-alpha14
2023년 10월 18일
androidx.wear.compose:compose-material3:1.0.0-alpha14
이 출시되었습니다. 버전 1.0.0-alpha14에 포함된 커밋을 확인하세요.
API 변경사항
- Material3
HorizontalPageIndicator
에서indicatorStyle
매개변수를 삭제했습니다. 대신 기기 화면 모양 (선형 또는 원형)을 따릅니다. (I83728) - 새
SplitToggleButtonColors
클래스를 추가하여SplitToggleButton
의 색상을ToggleButton
의 색상과 구분했습니다. (I78bee)
버전 1.0.0-alpha13
2023년 10월 4일
androidx.wear.compose:compose-material3:1.0.0-alpha13
이 출시되었습니다. 버전 1.0.0-alpha13에 포함된 커밋을 확인하세요.
API 변경사항
버전 1.0.0-alpha12
2023년 9월 20일
androidx.wear.compose:compose-material3:1.0.0-alpha12
이 출시되었습니다. 버전 1.0.0-alpha12에 포함된 커밋을 확인하세요.
API 변경사항
- Material Design 토큰을 사용하도록
IconButton
를 업데이트했습니다. (I3f137) - Material Design 토큰을 사용하도록
IconToggleButton
를 업데이트했습니다. (I7d263) CheckboxColors
,RadioButtonColors
,SwitchColors
의 생성자를 공개했습니다. (I82b73)
버전 1.0.0-alpha11
2023년 9월 6일
androidx.wear.compose:compose-material3:1.0.0-alpha11
이 출시되었습니다. 버전 1.0.0-alpha11에 포함된 커밋을 확인하세요.
버그 수정
- Material3 카드의 서체를
TitleMedium
로 업데이트했습니다. (I597bd) - Material3
ListHeader
및ListSubheader
의 서체 및 정렬을 업데이트했습니다. (Ib5ceb)
버전 1.0.0-alpha10
2023년 8월 23일
androidx.wear.compose:compose-material3:1.0.0-alpha10
이 출시되었습니다. 버전 1.0.0-alpha10에 포함된 커밋을 확인하세요.
새로운 기능
- Wear Material3 라이브러리에
HorizontalPageIndicator
를 추가합니다. (Ifee99)
API 변경사항
- Material3 디자인 토큰을 사용하도록 버튼 코드를 업데이트합니다. (I92fe4)
- 사용자 인터페이스의 세부정보가 아직 확정되지 않았으므로 Wear Material 3 스테퍼 및 슬라이더 API를 실험용으로 선언합니다. (I84d54)
- 이 크기는
IconButton
에만 적용되므로 라운드TextButton
및TextToggleButton
에서ExtraSmall
크기를 삭제했습니다. (Ibc7d5)
버그 수정
- LargeButtonSize에 LabelLarge를 사용하도록 TextToggleButton의 서체에 관한 안내를 업데이트했습니다. (Ib10fa)
- LargeButtonSize에 LabelLarge를 사용하도록 TextButton의 서체 가이드를 업데이트했습니다. (I8f3a7)
- 접근성을 위해 카드의 최소 터치 영역을 48dp로 설정했습니다. (Ieb9b1)
- 이미지가 있는 AppCard 데모를 추가하고 배경이 있는 AppCard 데모를 삭제했습니다. (Id735f)
- 수정자가 올바르게 연결되지 않은 원형 버튼의 버그를 수정했습니다. (I5e162)
버전 1.0.0-alpha09
2023년 8월 9일
androidx.wear.compose:compose-material3:1.0.0-alpha09
이 출시되었습니다. 버전 1.0.0-alpha09에 포함된 커밋을 확인하세요.
새로운 기능
- material3용
ToggleButton
를 추가했습니다. (I6bed6)
API 변경사항
- 이전에 주석으로 언급된
FloatRange
주석을 API 제약 조건으로 사용 설정했습니다. (Icb401) - 최신 Material3 가이드라인을 준수하도록 Wear Material3의 서체를 업데이트했습니다. (I1bad6)
버그 수정
- Material3 디자인에 따라
Button
,IconButton
,TextButton
의 색상을 업데이트했습니다. (Ib2495) - 사용 중지된 상태에서 체크박스 체크 표시가 보이지 않는 문제를 수정했습니다. (Ib25bf)
버전 1.0.0-alpha08
2023년 7월 26일
androidx.wear.compose:compose-material3:1.0.0-alpha08
이 출시되었습니다. 버전 1.0.0-alpha08에 포함된 커밋을 확인하세요.
새로운 기능
- Material3에 다음과 같은 선택 컨트롤이 추가되었습니다.
Switch
,Checkbox
,RadioButton
(Ib918c) - Material3에 아이콘과 텍스트용 슬롯이 각각 하나씩 있는 원형 전환 버튼인
IconToggleButton
및TextToggleButton
를 추가했습니다. 다양한 크기의ToggleButton
의 경우 각 전환 버튼에 제공된 크기와 함께Modifier.touchTargetAwareSize
를 사용하는 것이 좋습니다. (I9f015) - Material3 구성요소에
ListHeader
및ListSubheader
를 추가했습니다. (Ibaefe) - 새 Foundation
SwipeToDismissBox
를 호출하고 테마의 기본 색상 값을 제공하는 Material3SwipeToDismissBox
를 추가했습니다. (I275fb) - Wear Compose에 Material3
InlineSlider
를 추가했습니다. 이를 통해 사용자가 값 범위에서 선택할 수 있습니다. 선택 범위는 해당 범위의 최솟값과 최댓값 사이의 막대로 표시되며, 사용자가 하나의 값을 선택할 수 있습니다.InlineSlider
는 볼륨이나 밝기와 같은 설정을 조정하는 데 적합합니다. (I7085f)
API 변경사항
- Wear Material 3 테마의 도형을 Shape 대신
RoundedCornerShape
기반으로 사용하도록 업데이트했습니다. (Idb133) - Button의 높이 상수를 공개했습니다. (Idbfde)
- 호환성 억제를 주석 처리하도록 API 파일을 업데이트했습니다. (I8e87a, b/287516207)
- Wear Compose Material 3의
InlineSliderColors
를 공개 생성자와 공개 속성이 포함되도록 업데이트했습니다. (I6b632) - Wear Compose Material 3의 모든 색상 클래스를 공개 생성자와 공개 속성을 갖도록 업데이트했습니다. (I17702)
- Button의 가로 및 세로 패딩 상수를 공개했습니다. (Ieeaf7)
버그 수정
- 이제 필요한 경우 접근성을 위해 큰 글꼴로 인해 커진 콘텐츠를 수용하도록 버튼의 높이가 조정됩니다. (Iaf302)
- 접근성 문제를 해결하기 위해 여러 버튼 데모를 업데이트했습니다. (I61ce9)
- 이제
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
은 텍스트용 슬롯이 하나 있는 원형 버튼입니다. 다양한 크기의TextButton
의 경우TextButtonDefaults
에 제공된Modifier.touchTargetAwareSize
및ExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
,LargeButtonSizeIcon
를 사용하는 것이 좋습니다. 기본TextButton
에는 테두리가 없으며 강조도가 낮은 작업의 경우 배경이 투명합니다. 강조가 필요한 작업의 경우filledTextButtonColors
을 사용합니다. 중간 강조의 경우 윤곽선이 있는TextButton
을 사용하고 테두리를ButtonDefaults.outlinedButtonBorder
로 설정합니다. 윤곽선이 있는 것과 채워진 것의 중간인 경우filledTonalTextButtonColors
을 사용합니다. (I667e4) - Wear Compose Material3 라이브러리에
Card
,OutlinedCard
,AppCard
,TitleCard
가 추가되었습니다.AppCard
및TitleCard
에CardDefaults.outlinedCardColors
및CardDefaults.outlinedCardBorder
를 사용하여 윤곽선이 적용된 모양을 지정할 수도 있습니다. (I80e72)
API 변경사항
- 후행 람다 문법을 지원하기 위해 Button 라벨 매개변수를 끝으로 이동하고 역할 매개변수를 삭제했습니다 (
Modifier.semantics
를 사용하여 재정의할 수 있음). 이제ButtonColors
생성자가 공개됩니다. (Ie1b6d)
버전 1.0.0-alpha04
2023년 5월 10일
androidx.wear.compose:compose-material3:1.0.0-alpha04
이 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
- Material3에 아이콘/이미지용 슬롯이 하나 있는 원형 버튼인
IconButton
를 추가했습니다.IconButton
,FilledIconButton
,FilledTonalIconButton
,OutlinedIconButton
의 4가지 변형이 있습니다. 다양한 크기의IconButton
의 경우IconButtonDefaults
에 제공된Modifier.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 버튼 구성요소가 추가되었습니다. 이 버튼은 경기장 모양의 버튼으로, 이전에는 Wear Compose Material 라이브러리에서 Chip이라는 이름이 붙었으나 Compose Material 3 라이브러리와 일관성을 유지하기 위해 Button으로 이름이 변경되었습니다. 기본 Button에는 채워진 배경이 있으며
FilledTonal
(배경이 음소거됨), Outlined (테두리가 얇은 투명), Child (배경이 투명하고 테두리가 없음, 가시성이 가장 낮은 보조 작업에 사용됨)의 버튼 변형이 있습니다. 단순한 아이콘 및 텍스트 콘텐츠용 원형 버튼은 향후 출시에서 제공됩니다.(Ia6942)
버전 1.0.0-alpha02
2023년 4월 5일
androidx.wear.compose:compose-material3:1.0.0-alpha02
이 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.
버그 수정
- Wear Compose Material 3에
PlatformTextStyle.includeFontPadding
를 기본값으로 true (현재 설정)로 설정하는DefaultTextStyle
를 추가했습니다. 이렇게 하면 향후 기본적으로 글꼴 패딩을 사용 중지하는 작업을 Compose 라이브러리와 동기화할 수 있습니다 (배경용 Compose에서 글꼴 패딩 수정 참고). (I7e461)
버전 1.0.0-alpha01
2023년 3월 22일
androidx.wear.compose:compose-material3:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
Material 3은 Material Design의 차세대 버전으로, 업데이트된 테마 설정과 새롭게 디자인된 구성요소가 포함되어 있습니다. Wear Compose의 Material 3은 Android의 Material 3 Compose 라이브러리와 일관되도록 설계되었습니다. 이 첫 번째 알파 버전에는 다음의 초기 기능 구현이 포함되어 있습니다.
Wear Material (
androidx.wear.compose:compose-material
)과 Wear Material 3 (androidx.wear.compose:compose-material3
)은 계속해서 동시에 개발됩니다. 향후 material3 출시에서는 버튼, 선택 도구, 슬라이더와 같은 Wear OS용 Compose의 익숙한 다른 구성요소를 포함하도록 위젯 세트를 확장할 예정입니다.Wear Material 및 Wear Material 3 라이브러리는 서로 배타적이므로 동일한 앱에서 혼합하면 안 됩니다. 주로 서로 다른 테마를 참조하여 예기치 않은 불일치가 발생하기 때문입니다.
Wear Compose 버전 1.5
버전 1.5.0-alpha06
2024년 11월 13일
androidx.wear.compose:compose-*:1.5.0-alpha06
이 출시되었습니다. 버전 1.5.0-alpha06에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 더 이상 필요하지 않은
orientation
매개변수를 삭제하여PagerState
의ScrollInfoProvider
를 간소화했습니다. 새 동작은TimeText
가 가로 및 세로 페이징 모두에서 제자리에 유지되는 것입니다. (I71767) TransformingLazyColumn
는 이전 버전에서 도입되었습니다. 이제 Wear의LazyColumn
별칭 (TransformingLazyColumn
로 전달됨)이 새 이름TransformingLazyColumn
으로 대체됩니다.TransformingLazyColumnVisibleItemInfo
의height
속성도 삭제되었습니다. 대신measuredHeight
를 사용하세요. (I0ea1e)PagerDefaults.snapFlingBehavior
snapAnimationSpec
를Tween
에서Spring
사양으로 변경했습니다.(I10d02, b/349781047, b/303807950)LocalReduceMotion
CompositionLocal
를 안정화 버전으로 승격했습니다. (Ia6f32)
버그 수정
- 로터리에서 더 나은 시맨틱 지원을 위해
focusTargetWithSemantics
를 사용하도록Modifier.rotaryScrollable
를 업데이트했습니다. (Ief0a0) - Compose 라이브러리의 최소 API 종속 항목을 1.7.4로 업데이트했습니다. (I88b46)
- 클리핑 버그를 해결하기 위해
TransformingLazyColumn
에서 너비 모핑을 사용 중지했습니다. (I3dfb8) TransformingLazyColumn
로 오버스크롤한 후 항목이 사라지는 버그를 수정했습니다. (Id7668)TransformingLazyColumn
용LazyLayoutSemantics
가 추가되었습니다. (Ia8f56)
버전 1.5.0-alpha05
2024년 10월 30일
androidx.wear.compose:compose-*:1.5.0-alpha05
이 출시되었습니다. 버전 1.5.0-alpha05에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 항목으로 스크롤할 때 애니메이션을 적용할 수 있도록
TransformingLazyColumnState
에animateScrollTo
지원을 추가했습니다. (I4097d) - 다음 측정으로 스크롤을 지연하기 위해
TransformingLazyColumnState
에requestScrollTo
를 추가했습니다. (I20a5e) TransformingLazyColumn
에contentPadding
지원을 추가했습니다. (I3a69c)
버그 수정
- 콘텐츠 높이가 화면 높이보다 짧을 때
TransformingLazyColumn
렌더링에서 발생하는 버그를 수정했습니다. (I6c3e1) - 이제
TransformingLazyColumn
의ScrollInfoProvder
가 첫 번째 항목을 올바르게 추적합니다. (I1e4a3) - 이제
TransformingLazyColumnState
가 상태 (anchorItemIndex
및anchorItemScrollOffset
)를 저장합니다. (I3d265)
버전 1.5.0-alpha04
2024년 10월 16일
androidx.wear.compose:compose-*:1.5.0-alpha04
이 출시되었습니다. 버전 1.5.0-alpha04에는 이 커밋이 포함되어 있습니다.
API 변경사항
- Wear Compose Foundation
LazyColumn
와 Compose FoundationLazyColumn
의 차이를 더 명확하게 구분할 수 있도록 Wear Compose FoundationLazyColumn
의 이름을TransformingLazyColumn
로 변경했습니다. int입니다. (I0608b) - 사용자가 로터리 입력 장치를 사용하여 페이저를 탐색할 수 있도록 가로/세로 페이저에 로터리 지원을 추가했습니다. (I9770d)
- 페이저가 기본적으로 페이지에 스냅된다는 점을 명확히 하기 위해 새
PagerDefaults
를 업데이트했습니다. (Iff7d0) - 이제
TransformingLazyColumnItemScrollProgress
는 실적을 개선해야 하는 값 클래스입니다. (Ic399e) - 이제
TransformingLazyColumn
가 로터리를 기본적으로 지원합니다. (I05206) - 이제
TransformingLazyColumnState
에서scrollToItem
를 지원합니다. (I507b3) SwipeToReveal
API에서@ExperimentalWearFoundationApi
를 삭제했습니다. (I34a66)
버전 1.5.0-alpha03
2024년 10월 2일
androidx.wear.compose:compose-*:1.5.0-alpha03
이 출시되었습니다. 버전 1.5.0-alpha03에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 현재 화면에서 스와이프하여 닫기를 지원하지 않는 드문 경우를 위해
SwipeToReveal
에 양방향 스와이프 지원이 추가되었습니다. . 기본값은 여전히 오른쪽에서 왼쪽으로 스와이프할 때만 스와이프하여 표시하는 것이며, 닫기 스와이프와 충돌하지 않도록 기본 동작을 따르는 것이 좋습니다. (Ifac04) canScrollForward
및canScrollBackward
를 재정의하도록LazyColumnState
를 업데이트했습니다. 이제 첫 번째 또는 마지막 항목이 화면 중앙에 정확히 있을 때 스크롤이 중지됩니다. (Ia77d7)- Wear에서 발생할 수 있는 포커스 처리, 시스템 스와이프와 상호작용하여 닫기와 같은 일반적인 문제를 해결하는 새로운
HorizontalPager
및VerticalPager
구성요소를 추가했습니다. (I2902b) layoutItems
를 통해 클라이언트의key
및contentType
를 노출하는LazyColumn
지원을 추가했습니다. (I1bd9c)
버그 수정
- 페인트 플래그를 사용하여 곡선 텍스트 애니메이션이 더 부드럽게 표시되도록 업데이트했습니다. (I73a15)
- show 플래그가 false로 설정된 후
onDismissRequest
가 호출되지 않음을 반영하도록 Material Dialog 문서를 업데이트했습니다. (Ifd8d6) - Material 대화상자의 비네트 애니메이션 버그를 수정했습니다. (I126bf)
버전 1.5.0-alpha02
2024년 9월 18일
androidx.wear.compose:compose-*:1.5.0-alpha02
이 출시되었습니다. 버전 1.5.0-alpha02에는 이 커밋이 포함되어 있습니다.
API 변경사항
ScreenScaffold
를 사용하여 Wear ComposeLazyColumn
지원을 추가하고LazyColumnState
용ScrollInfoProvider
구현을 추가했습니다. (Ib8d29)LazyColumnLayoutInfo
에viewportSize
를 추가했습니다. (I4187f)
버그 수정
userScrollEnabled
플래그가false
로 설정된 경우ScalingLazyColumn
에서 로터리 스크롤이 사용 중지되도록 버그를 수정했습니다. (I490ab, b/360295825)- 곡선 텍스트의 예상치 못한 세로 패딩을 해결하기 위한 버그 수정사항이 적용되었습니다. 이제 곡선 텍스트 높이가 텍스트에서 사용되는 실제 공간과 더 근접합니다. 이렇게 하면 곡선 텍스트가 포함된 스크린샷 테스트가 중단될 수 있습니다 (Iaa6ef).
showDialog
가 false로 설정되었을 때onDismissRequest
콜백이 호출되는Dialog
의 버그 수정사항을 되돌렸습니다. 경우에 따라 이로 인해onDismissRequest
가 여러 번 호출되는 문제가 있었기 때문입니다. (I64656)
버전 1.5.0-alpha01
2024년 9월 4일
androidx.wear.compose:compose-*:1.5.0-alpha01
이 출시되었습니다. 버전 1.5.0-alpha01에는 이 커밋이 포함되어 있습니다.
API 변경사항
- Wear Compose Foundation 라이브러리에 연결된
LazyColumnState
및LazyColumnScope
API와 함께 새LazyColumn
를 추가했습니다. 이는 Wear Compose로 맞춤설정 가능한 크기 조정 및 모핑 효과를 빌드하기 위한 기반이 됩니다. (Ib3b22) - 새
LazyColumn
API의 일부로 색인이 생성된itemsIndexed
버전이LazyColumnScope
에 추가되었습니다. (Ib4a57) - 크기 조절 및 모핑 동작을 지원하기 위해
LazyColumn
수정자를 추가했습니다. (Ie229a) HierarchicalFocusCoordinator
이 안정화 버전으로 승격되었습니다. (I31035)- 곡선 텍스트에 글자 간격 지원을 추가했습니다. (I3c740)
- 구성요소의 회전을 중지하는
rotationLocked
매개변수를CurvedLayout.curvedComposable
에 추가했습니다. (I66898) - Wear Material 및 Wear Material3의 임시
LocalUseFallbackRippleImplementation
API가 삭제되었습니다. (I62282) @WearPreviewDevices
멀티 미리보기에서WearDevices.SQUARE
를 삭제했습니다. (I11c02)
버그 수정
- 이제
SwipeToReveal
가 화면의 표시된 부분에 표시된 항목을 배치합니다. 이렇게 하면SwipeToReveal
가 목록 내에서 사용될 때 항목을 항상 상호작용할 수 있고 화면 외부로 나가지 않도록 할 수 있습니다. (I38929) - 이제
animatedTo
가 완료되면SwipeToReveal
가lastActionType
를 None으로 재설정합니다. (I59b03) curvedComposable
의 새rotationLocked
매개변수에 관한 문서가 개선되었습니다. (Ifbd57)NaN
를ScalingLazyColumnSnapFlingBehavior
의performFling
에 전달할 때 발생하는 비정상 종료 문제를 수정했습니다. (Ic13da)- 곡선 레이아웃 크기 수정자의 버그를 수정했습니다. (I0fedf)
- 'sp'로 지정된 문자 간격 지원을 추가했습니다. (I9f6e3)
- Material2 대화상자에서 대화상자가 보이지 않게 되었을 때
onDismissRequest
콜백이 호출되지 않는 버그를 수정했습니다. (I64656) - 목적을 더 잘 반영하도록
LayoutCoordinates.introducesFrameOfReference
의 이름을LayoutCoordinates.introducesMotionFrameOfReference
로 바꾸었습니다. 해당 플래그를 기반으로 좌표를 계산하는 관련 함수의 이름을 바꿨습니다. (I3a330)
버전 1.4
버전 1.4.0
2024년 9월 4일
androidx.wear.compose:compose-*:1.4.0
이 출시되었습니다. 버전 1.4.0에는 이 커밋이 포함되어 있습니다.
1.3.0 이후 중요 변경사항
- 이제
ScalingLazyColumn
및Picker
가 기본적으로 로터리 입력을 지원합니다. 명시적 로터리 처리를 삭제하고 기본 시스템 동작을 지연하는 것이 좋습니다. 필요한 경우rotaryScrollableBehavior
매개변수를 사용하여 스크롤 또는 스냅 동작을 구성합니다. 스냅 동작의 경우flingBehavior
매개변수를 사용하여 스냅 동작과 터치 스크롤 기능을 제공하는 것이 좋습니다. Modifier.rotaryScrollable
는 로터리 이벤트를 스크롤 가능한 컨테이너와 연결하는 새로운 수정자로, 사용자가 Wear OS 기기에서 용두나 회전 베젤을 사용하여 스크롤할 수 있도록 합니다.- 이제
SwipeDismissableNavHost
에서 인앱 전환을 위한 진입 애니메이션을 제공합니다. - 이제 화면이 처음 표시될 때 기본적으로
PositionIndicator
가 표시됩니다.
기타 변경사항
- 버전 1.3.0에서 도입된 더 완전한 변경사항 세트는 beta01 출시 노트를 참고하세요.
버전 1.4.0-rc01
2024년 8월 21일
androidx.wear.compose:compose-*:1.4.0-rc01
이 출시되었습니다. 버전 1.4.0-rc01에는 이 커밋이 포함되어 있습니다.
- Compose 종속 항목을 1.7.0-rc01로 업데이트하고 Wear Compose Navigation을 androidx.lifecycle 2.8.3에 고정했습니다.
버전 1.4.0-beta03
2024년 6월 12일
androidx.wear.compose:compose-*:1.4.0-beta03
이 출시되었습니다. 버전 1.4.0-beta03에는 이러한 커밋이 포함되어 있습니다.
버그 수정
- 성능을 개선하기 위해 'focusable'을 'focusTarget'으로 대체하도록
Modifier.rotaryScrollable
를 업데이트했습니다. (Id294b) 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)SplitSelectableChip
의 클릭 콜백 매개변수 이름을onClick
에서onSelectionClick
로,onBodyClick
에서onContainerClick
로 업데이트했습니다. (I32237)
버그 수정
PositionIndicator
(스크롤바)가 스크롤 가능한 콘텐츠와 겹치는 버그를 수정하기 위해PositionIndicator
의 가로 패딩을 5dp에서 2dp로 업데이트했습니다. 패딩이 변경되어 이 변경사항으로 인해PositionIndicator
가 포함된 기존 스크린샷이 손상될 수 있습니다. (I57472)- 저해상도 로터리 기기와 고해상도 로터리 기기의 차이를 설명하여 새 로터리 API 문서를 개선했습니다. (I63abe)
- 보간된 알파 값이 0보다 작을 때 트리거될 수 있는
SwipeDismissableNavHost
의 범위 외 예외를 수정했습니다. (Ib75a1, b/335782510)
버전 1.4.0-alpha07
2024년 4월 17일
androidx.wear.compose:compose-*:1.4.0-alpha07
이 출시되었습니다. 버전 1.4.0-alpha07에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 스크롤 가능한 컨테이너와 로터리 이벤트를 연결하는 새로운 수정자
Modifier.rotary
를 추가하여 사용자가 Wear OS 기기에서 용두나 회전 베젤을 통해 스크롤할 수 있도록 했습니다. 또한 이제ScalingLazyColumn
및 Picker는 스크롤 또는 스냅의 구성을 지정하는rotaryBehavior
매개변수가 포함된 새로운 오버로드를 통해 기본적으로 로터리 입력을 지원합니다.rotaryBehavior
매개변수가 스냅으로 설정된 경우 터치 스크롤을 위해flingBehavior
매개변수를 통해 스냅도 제공하는 것이 좋습니다. (I2ef6f) - 이제 애니메이션 (부수 효과)과 마우스 휠 및 키보드 (UserInput)가 포함된 이러한 소스의 확장된 정의를 수용하기 위해
NestedScroll
소스 Drag 및 Fling이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에는 이 커밋이 포함되어 있습니다.
버그 수정
- Rotary 동작을 Horologist에서 AndroidX로 이전하는 대규모 작업의 일환으로 로터리 지원의 내부 초안을 추가했습니다. (I617d1)
- Horologist에서 AndroidX로 로터리 동작을 이전하는 대규모 작업의 일환으로 햅틱 지원의 내부 초안을 추가했습니다. (I5568a)
버전 1.4.0-alpha05
2024년 3월 20일
androidx.wear.compose:compose-*:1.4.0-alpha05
이 출시되었습니다. 버전 1.4.0-alpha05에는 이 커밋이 포함되어 있습니다.
API 변경사항
ScalingLazyListState
의initialCenterItemIndex
및initialCenterItemScrollOffset
속성을 공개했습니다. (I0c616)ProgressIndicatorDefaults
의FullScreenStrokeWidth
를 공개로 설정했습니다. (Ibea23)
버그 수정
layoutInfo
호출 수를ScalingLazyColumn
에서 줄여PositionIndicator
의 성능을 개선했습니다. (Idc83d)
버전 1.4.0-alpha04
2024년 3월 6일
androidx.wear.compose:compose-*:1.4.0-alpha04
이 출시되었습니다. 버전 1.4.0-alpha04에는 이 커밋이 포함되어 있습니다.
API 변경사항
toggleControl
매개변수 대신selectionControl
매개변수를 사용하는ToggleChip
및SplitToggleChip
의 새 오버로드를 추가했습니다. 접근성을 위해 전환 가능한 시맨틱 대신 선택 가능한 시맨틱을 제공하려면RadioButton
컨트롤과 함께 사용해야 합니다. (I1d6d9)- 새
selectionControl
오버로드의 매개변수 이름을ToggleChip
및SplitToggleChip
의 경우onSelected
에서onSelect
로 업데이트했습니다. (I1a971)
버전 1.4.0-alpha03
2024년 2월 21일
androidx.wear.compose:compose-*:1.4.0-alpha03
이 출시되었습니다. 버전 1.4.0-alpha03에 포함된 커밋을 확인하세요.
API 변경사항
Modifier.inspectable
래퍼가 지원 중단되었습니다. 이 API는 필요한 것보다 더 많은 수정자의 무효화를 생성하므로 이제 사용하지 않는 것이 좋습니다. 개발자는 수정자 속성을 도구에 노출하려는 경우ModifierNodeElement
에서inspectableProperties()
메서드를 구현하는 것이 좋습니다. (Ib3236)
버그 수정
WearPreview*
주석의 문서 버그가 수정되었습니다. (Id526d)
버전 1.4.0-alpha02
2024년 2월 7일
androidx.wear.compose:compose-*:1.4.0-alpha02
이 출시되었습니다. 버전 1.4.0-alpha02에 포함된 커밋을 확인하세요.
버그 수정
- 다른 항목을 스와이프하여 한 항목에 커밋된 작업과 상호작용하고 취소할 수 있는 스와이프하여 표시 버그를 수정했습니다.(Ide059)
- 큰 글꼴 크기를 수용하기 위해 콘텐츠에 추가 높이가 필요한 경우 높이 조정을 지원하도록
ListHeader
를 업데이트했습니다. (I7290c, b/251166127)
버전 1.4.0-alpha01
2024년 1월 24일
androidx.wear.compose:compose-*:1.4.0-alpha01
이 출시되었습니다. 버전 1.4.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- 인앱 전환을 위해
SwipeDismissableNavHost
에 진입 애니메이션을 추가했습니다.(cfeb79a) - 이제 화면이 처음 표시될 때 기본적으로
PositionIndicator
가 표시됩니다. 이 변경사항은 Wear 품질 가이드라인을 준수하기 위해 도입되었습니다. 안타깝게도 이전에는PositionIndicator
이 표시되지 않았으므로PositionIndicator
가 포함된 화면에서 스크린샷 테스트를 업데이트해야 합니다. (419cef7)
API 변경사항
- 지원 중단된
rememberRipple
를 대체하는 새로운 ripple API가wear:compose-material
및wear:compose-material3
라이브러리에 추가되었습니다. 또한 Material 구성요소를 지원 중단된rememberRipple/RippleTheme
API를 사용하도록 되돌리는 임시CompositionLocal
,LocalUseFallbackRippleImplementation
를 추가합니다. 이 기능은 다음 안정화 버전에서 삭제되며 맞춤RippleTheme
를 제공하는 케이스의 일시적인 이전 지원용으로만 제공됩니다. 이전 정보와 이 변경사항에 관한 자세한 배경 정보는 developer.android.com을 참고하세요. (af92b21) ColorScheme
를 변경 불가능한 것으로 업데이트하여 개별 색상 업데이트의 효율성이 떨어졌지만 색상의 일반적인 사용은 더 효율적으로 되었습니다. 이번 변경사항의 이유는 대부분의 앱에서 개별 색상 업데이트를 주요 사용 사례로 사용하지 않기 때문입니다. 이는 여전히 가능하지만 이전보다 더 많이 재구성되므로 모든 Material 코드를 통해 상태 구독의 양이 크게 줄어들고 더 많은 표준 사용 사례의 초기화 및 런타임 비용에 영향을 미칩니다. (f5c48b7)- API에
MutableInteractionSource
를 노출하는 Wear Material 및 Wear Material3 구성요소가 업데이트되어 기본값이 null인 nullableMutableInteractionSource
를 노출합니다. 여기서는 의미론적 변경사항이 없습니다. null을 전달하면MutableInteractionSource
를 호이스팅하지 않겠다는 의미이며 필요한 경우 구성원 내에서 생성됩니다. null로 변경하면 일부 구성요소는MutableInteractionSource
를 할당하지 않을 수 있고 다른 구성요소는 필요할 때만 인스턴스를 지연 생성할 수 있으므로 이러한 구성요소의 성능이 개선됩니다. 이러한 구성요소에 전달하는MutableInteractionSource
를 사용하지 않는 경우 대신 null을 전달하는 것이 좋습니다. 자체 구성요소에서도 유사한 변경사항을 적용하는 것이 좋습니다. (f8fa920) rememberExpandableState
를 업데이트하여 펼쳐지는 상태를 저장합니다. 이렇게 하면 다른 화면으로 이동할 때 데이터가 저장되고 원래 화면으로 돌아올 때 복원됩니다. (5c80095)
버그 수정
- 수명 주기 인식 리스너를 사용하도록
ReduceMotion
설정을 업데이트했습니다. (7c6b122) - 수명 주기를 인식하도록
TouchExplorationStateProvider
의 리스너를 업데이트했습니다. (be28b01) - 성능을 개선하기 위해
CompactButton
의 materialcore 레이어를 삭제했습니다. (25db8e9) - 예외를 방지하기 위해 NaN 오프셋에 대해
BasicSwipeToDismissBox
를 더 강력하게 만들었습니다. (b983739) - 알파 값이 0,1 범위 내에 있도록
BasicSwipeToDismissBox
를 업데이트했습니다. - 접근성 안내가 반복되지 않도록
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
,RadioButton
의 버그를 수정했습니다 (이전에는 시맨틱 역할이 중복됨). (d11eeb7)
버전 1.3
버전 1.3.1
2024년 4월 3일
androidx.wear.compose:compose-*:1.3.1
이 출시되었습니다. 버전 1.3.1에는 이 커밋이 포함되어 있습니다.
버그 수정
- 스와이프하여 표시에서 다른 항목을 스와이프하여 한 항목에 대해 커밋된 작업과 상호작용하고 취소할 수 있는 버그를 수정했습니다. (Ide059)
버전 1.3.0
2024년 1월 24일
androidx.wear.compose:compose-*:1.3.0
이 출시되었습니다. 버전 1.3.0에 포함된 커밋을 확인하세요.
1.2.0 이후 중요 변경사항
SwipeToDismissBoxState
클래스,SwipeToDismissValue
열거형,Modifier.edgeSwipeToDismiss
확장 함수는 이제 각각androidx.wear.compose.material
패키지가 아닌androidx.wear.compose.foundation
패키지의 일부입니다. 업데이트된 이 아키텍처를 사용하면 다른 설계 고려사항과는 별개로 동작 처리를 구현할 수 있습니다. 구성된 테마의 색상을 적용하는 등의 Material Design 워크플로는 별도로 처리됩니다.SwipeToRevealCard
및SwipeToRevealChip
클래스를 사용하면recommended swipe-to-reveal guidance
를 구현할 수 있습니다.SwipeToRevealSample
클래스는 이러한 구성요소를 사용하는 방법을 보여줍니다.1.3.0-alpha02 출시에서는 사용자 선택 글꼴 배율을 더 효과적으로 지원하기 위해
Chip
및ToggleChip
객체의 높이가 커지는 변경사항이 도입되었습니다. 이로 인해 일부 클리핑이 발생할 수 있습니다. 이 문제를 해결하기 위해 이제MaterialTheme
의large
도형이 더 큰 모서리 반경 (24dp 대신 26dp)을 사용합니다.Chip
및ToggleChip
객체는 이 새로운 모서리 반경을 사용하여 칩 및ToggleChip
의 모서리에서 콘텐츠가 잘리지 않도록 합니다.- 대부분의
Chips
및ToggleChips
는 기본 52dp 높이를 감안할 때 변경되지 않습니다. 그러나 기본 또는 보조 라벨 텍스트가 여러 줄 포함되어 있거나 높이가 재정의된Chip
및ToggleChip
객체는 스크린샷 테스트가 중단될 수 있습니다.
- 대부분의
기타 변경사항
버전 1.3.0에서 도입된 더 완전한 변경사항 세트는 beta01 출시 노트를 참고하세요.
구현 권장사항
- 앱에서 사용자가 화면의 콘텐츠를 화면 이동할 수 있는 경우(예: 지도 기반 앱)
SwipeDismissableNavHost
컴포저블에서userSwipeEnabled
를false
로 설정하여 스와이프 처리를 사용 중지하고 사용자가 이전 화면으로 이동할 수 있는 버튼을 포함합니다. - 스크롤 목록 내에서 페이드 인 및 위치 변경 애니메이션 중에 위치 표시기의 애니메이션을 사용 중지하려면
SnapSpec
객체를 사용하세요. - 미디어 앱이 재생할 콘텐츠를 로드할 때까지 기다리는 동안 빈
Placeholder
컴포저블을 표시합니다. - 확장 가능한 항목의 컬렉션을 필요에 따라 만들려면 실험용
ExpandableStateMapping
클래스를 사용하는 것이 좋습니다.
버전 1.3.0-rc01
2024년 1월 10일
androidx.wear.compose:compose-*:1.3.0-rc01
이 출시되었습니다. 버전 1.3.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
-
26dp 둥근 모서리 반경을 사용하도록
MaterialTheme
대형 도형을 업데이트했으며 이제 Chip 및ToggleChip
에서 이 도형을 사용합니다. 이 변경사항은 콘텐츠에 큰 글꼴 크기를 수용할 추가 높이가 필요한 경우 높이 조정을 지원하기 위해 필요합니다. 그러지 않으면 기존의 경기장 모양이 일부 텍스트 콘텐츠를 잘라냅니다.이 변경사항으로 인해 스크린샷 테스트가 중단될 수 있습니다. (I2e6ae)
버전 1.3.0-beta02
2023년 12월 13일
androidx.wear.compose:compose-*:1.3.0-beta02
이 출시되었습니다. 버전 1.3.0-beta02에 포함된 커밋을 확인하세요.
버그 수정
BasicSwipeToDismissBox
에서 의도한 스와이프 동작을 복원했습니다. 이전 버전에서는 손가락이 화면을 터치하는 동안 전환의 슬라이드 부분이 발생하도록 변경되었습니다. (Id8e76)
버전 1.3.0-beta01
2023년 11월 15일
androidx.wear.compose:compose-*:1.3.0-beta01
이 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.
Wear OS용 Compose 1.3-beta01 출시는 이 라이브러리 버전의 기능이 완전하고 API가 잠겨 있음을 나타냅니다 (실험용으로 표시된 경우 제외). Wear Compose 1.3에는 다음과 같은 새로운 기능이 포함되어 있습니다.
SwipeToDismissBoxState
,SwipeToDismissValue
,Modifier.edgeSwipeToDismiss
가BasicSwipeToDismissBox
의 기본 스와이프하여 닫기 구현과 함께androidx.wear.compose.material
에서androidx.wear.compose.foundation
로 이전되었습니다. 이렇게 하면 스와이프하여 닫기의 동작 처리를 Material Design과 독립적으로 사용할 수 있습니다(예:androidx.wear.compose.navigation
의SwipeDismissableNavHost
).androidx.wear.compose.material
의SwipeToDismissBox
는 여전히 Material Design과 함께 사용하는 것이 좋습니다.MaterialTheme
에서 색상을 가져온 다음 나머지 구현을BasicSwipeToDismissBox
에 위임하기 때문입니다.- 이제
SwipeDismissableNavHost
에서 새로운userSwipeEnabled
매개변수를 지원하므로 스와이프 처리가 필요하지 않은 화면에서 스와이프 처리를 사용 중지할 수 있습니다. BasicSwipeToDismissBox
에서HierarchicalFocusCoordinator
를 사용하여 포커스 처리를 개선했습니다.SwipeToReveal
에는 Material에Card
및Chip
에 권장되는 UX 가이드를 따르는 새로운SwipeToRevealCard
및SwipeToRevealChip
컴포저블이 있습니다. 보조 작업에 대한 실행취소도 지원합니다.- 이제
DefaultTextStyle
가 Android 플랫폼 전반에서 일관되도록 글꼴 패딩을 사용 중지합니다. - 이제
Chip
및ToggleChip
가 접근성을 위해 큰 글꼴로 인해 늘어난 콘텐츠를 수용하도록 높이를 조정합니다. - 이제
PositionIndicator
에 페이드 인, 페이드 아웃, 위치 변경 애니메이션에 관한 개별 애니메이션 사양이 있습니다. 성능상의 이유로 스크롤 가능한 목록과 함께 사용할 때는 페이드 인 및 위치 변경을 사용 중지하는 것이 좋습니다. ExpandableStateMapping
는@Composable
범위가 아닌 필요에 따라 생성해야 하는ExpandableStates
를 생성하는 새로운 방법을 제공합니다.- 이제
Placeholder
에서 콘텐츠가 더 이상 준비 상태가 아닌 경우 재설정을 허용합니다. 또한 이제 모션 감소 설정이Placeholder
의 쉬머링 효과와 와이프 오프 모션에 적용됩니다.
알려진 문제
- 화면이 처음 표시될 때
PositionIndicator
는 처음에는 표시되지 않습니다. 처음에는 애니메이션 없이 표시되도록 초기 1.4 알파에서 변경할 예정입니다.
API 변경사항
- Foundation 수준
SwipeToDismissBox
의 이름을BasicSwipeToDismissBox
로 바꾸었습니다. 이렇게 하면 Foundation 수준 구성요소와 Material 수준SwipeToDismissBox
를 더 명확하게 구분할 수 있습니다. 후자는 스크림에 사용할 색상을MaterialTheme
에서 가져오고 나머지 구현은BasicSwipeToDismissBox
에 위임합니다. (Ibecfc) rememberExpandableStateMapping
를 실험용으로 표시하고expandableItem
의 성능을 개선했습니다. (I5f6bc)- Material
SwipeToReveal
카드 및 칩 API의SwipeToRevealAction
클래스를SwipeToRevealPrimaryAction
,SwipeToRevealSecondaryAction
,SwipeToRevealUndoAction
컴포저블을 사용하는 슬롯 기반 API로 대체했습니다. 새 API를 사용하는 방법의 예는 샘플 코드를 참고하세요. (Ia8943) PositionIndicator
애니메이션 플래그를AnimationSpec
매개변수로 대체했습니다.snap
를AnimationSpec
로 전달하여 개별 애니메이션을 사용 중지할 수 있습니다. (I6c523)
버그 수정
- 크기가 제한된 경우 제한된 곡선 텍스트로 인해 트리거되는 버그를 수정했습니다. (I50efe)
curvedComposable
와 관련된 잠재적인 NaN 비정상 종료가 수정되었습니다. (I970eb)PositionIndicator
에서 위치 변경 강조 표시 애니메이션 삭제가 되돌려졌습니다. (Ieb424)- Material Chip의 성능을 개선하기 위해 Material Chip의 material-core 레이어가 삭제되었습니다. (If2dcb)
버전 1.3.0-alpha08
2023년 10월 18일
androidx.wear.compose:compose-*:1.3.0-alpha08
이 출시되었습니다. 버전 1.3.0-alpha08에 포함된 커밋을 확인하세요.
API 변경사항
PositionIndicator
오버로드에 개별 플래그를 추가하여 다양한 애니메이션(showFadeInAnimation
,showFadeOutAnimation
,showPositionAnimation
)을 제어할 수 있습니다. 이전 API는 지원 중단되었으며 호출을 새 API로 전달합니다. 성능상의 이유와 UX 일관성을 위해PositionIndicator
가 스크롤 가능한 목록과 함께 사용되는 경우showFadeInAnimation
및showPositionAnimation
플래그를 사용 중지하는 것이 좋습니다.PositionIndicator
가 볼륨 변경과 같이 독립형 표시기로 사용되는 경우 세 가지 애니메이션을 모두 사용 설정하는 것이 좋습니다. (I44294)- 스와이프하여 닫기 기능을
wear.compose.foundation
로 이전한 후 MaterialSwipeToDismissBoxState
,SwipeToDismissValue
,edgeSwipeToDismiss
가 지원 중단되었습니다.wear.compose.foundation
등가 항목으로 바꾸세요. (Iee8c9)
버그 수정
- Wear Compose Foundation, Material, Navigation 라이브러리의 기준 프로필을 업데이트했습니다. (Idb060)
- 이전 CL에서 도입된
PositionIndicator
의 동작 변경사항을 되돌렸습니다. 이로 인해 화면이 처음 표시될 때PositionIndicator
가 애니메이션으로 표시되었습니다. 초기 1.4 알파에서도PositionIndicator
가 처음에 표시되지만 애니메이션이 없도록 유사한 변경사항을 적용할 예정입니다. (I41843) PositionIndicator
의 일부 성능 문제가 해결되었습니다. (I1c654, b/302399827)- 파생된 상태 대신
State<Boolean>
를 사용하도록 터치 탐색 상태 제공업체 기본 구현의 성능을 최적화했습니다. (Ieec4d) - Android 13 이상에서
systemGestureExclusion
직사각형을 설정했습니다. (Ib1f4b)
버전 1.3.0-alpha07
2023년 10월 4일
androidx.wear.compose:compose-*:1.3.0-alpha07
이 출시되었습니다. 버전 1.3.0-alpha07에 포함된 커밋을 확인하세요.
API 변경사항
PositionIndicator
에 다양한 애니메이션(showFadeInAnimation
,showFadeOutAnimation
,showPositionAnimation
)을 제어하는 개별 플래그를 추가했습니다. 이전 API는 지원 중단되었으며 호출을 새 API로 전달합니다. 성능상의 이유와 UX 일관성을 위해PositionIndicator
가 스크롤 가능한 목록과 함께 사용되는 경우showFadeInAnimation
및showPositionAnimation
플래그를 사용 중지하는 것이 좋습니다.PositionIndicator
가 볼륨 변경과 같이 독립형 표시기로 사용되는 경우 세 가지 애니메이션을 모두 사용 설정하는 것이 좋습니다. (Ia2d63)
버그 수정
- 기본 작업 텍스트에 페이드 애니메이션을 추가하고, 전체 스와이프 확장 시 보조 작업을 페이드 처리하거나 아이콘 크기를 변경하여 스와이프하여 표시하는 모션을 개선했습니다. (Ib7223)
- 스와이프하여 표시 작업에 액세스할 수 있도록 하는 것이 좋으며 스와이프하여 표시 샘플에 맞춤 접근성 작업을 추가했습니다. (I42224)
- 초기 로직이 재구성되지 않도록 리팩터링을 포함하여
SwipeToDismissBox
의 성능을 개선했습니다. 이제SwipeToDismissBox
가 전체 화면 크기로 그려집니다. (Ie0aa2) PositionIndicator
가 잘못 사라지는 버그가 수정되었습니다. (I2091a)- 리컴포지션을 최적화하여
PositionIndicator
의 성능을 개선했습니다. 애니메이션을 제어하는 새로운 플래그 (fadeIn
,fadeOut
,positionChange
)가 추가되었습니다 (API 변경사항 참고). (Ifac7d) PositionIndicator
용 Microbenchmark 테스트를 추가했습니다. (Idf875)
버전 1.3.0-alpha06
2023년 9월 20일
androidx.wear.compose:compose-*:1.3.0-alpha06
이 출시되었습니다. 버전 1.3.0-alpha06에 포함된 커밋을 확인하세요.
버그 수정
SwipeToReveal
에서Modifier.edgeSwipeToDismiss
지원을 추가했습니다. (I95774, b/293444286)- Material
SwipeToRevealChip
및SwipeToRevealCard
샘플을 추가했습니다. (Ieb974) - Wear Compose Foundation 및 Material 라이브러리의 기준 프로필을 업데이트했습니다. (I1dd1f)
버전 1.3.0-alpha05
2023년 9월 6일
androidx.wear.compose:compose-*:1.3.0-alpha05
이 출시되었습니다. 버전 1.3.0-alpha05에 포함된 커밋을 확인하세요.
버그 수정
- 한 번에 하나의 항목만 스와이프할 수 있도록 '스와이프하여 표시'에 처리가 추가되었습니다. (I3cd7a)
- 실제 동작에 더 잘 맞도록
ScalingLazyColumnDefaults
문서를 개선했습니다. (I886d3)
버전 1.3.0-alpha04
2023년 8월 23일
androidx.wear.compose:compose-*:1.3.0-alpha04
이 출시되었습니다. 버전 1.3.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
SwipeToReveal
의 보조 작업에 대한 실행취소 지원을 추가했습니다. (I7a22d)
API 변경사항
- Wear Material3 라이브러리에
HorizontalPageIndicator
를 추가합니다. (Ifee99) androidx.wear.tooling.preview
라이브러리를 사용하도록 Wear Compose 미리보기 도구를 업데이트했습니다. (Ib036e)
버그 수정
- 수정자가 올바르게 연결되지 않은 원형 버튼의 버그를 수정했습니다. (I5e162)
버전 1.3.0-alpha03
2023년 8월 9일
androidx.wear.compose:compose-*:1.3.0-alpha03
이 출시되었습니다. 버전 1.3.0-alpha03에 포함된 커밋을 확인하세요.
API 변경사항
- 카드 및 칩으로
SwipeToReveal
를 구현하기 위한 두 가지 새로운 컴포저블이 Material에 추가되었습니다. 이러한 컴포저블은 구성요소에 관한 권장 UX 가이드라인을 따르며 개발자가 Wear Material의 기존 구성요소로SwipeToReveal
를 더 쉽게 구현할 수 있도록 합니다. (I7ec65) - 이전에 주석으로 언급된
FloatRange
주석을 API 제약 조건으로 사용 설정했습니다. (Icb401)
버그 수정
ScalingLazyColumn
의 초기 스크롤 로직을onGloballyPositioned()
내부로 이동했습니다. (Ic90f1)- 이제
PositionIndicator
,ProgressIndicator
,SelectionControls
에서drawWithCache
를 사용하여 획 할당을 최적화합니다. (I5f225, b/288234617) - 사용 중지된 상태에서 체크박스 체크 표시가 보이지 않는 문제를 수정했습니다. (Ib25bf)
- 콘텐츠가 더 이상 준비 상태가 아닌 경우 자리표시자를 표시하도록 재설정할 수 있도록
Placeholder
를 업데이트했습니다. (Ibd820) - 불안정한
Placeholder
테스트를 수정했습니다. (Idb560)
버전 1.3.0-alpha02
2023년 7월 26일
androidx.wear.compose:compose-*:1.3.0-alpha02
이 출시되었습니다. 버전 1.3.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
@Composable
범위 내에 있지 않아도 필요에 따라 생성해야 하는 경우에ExpandableStates
를 생성하는 새로운 방법인ExpandableStateMapping
를 제공했습니다. (Iff9e0)SwipeToDismissBox
가androidx.wear.compose.material
에서androidx.wear.compose.foundation
패키지로 이전되었습니다. (I275fb)- 호환성 억제에 주석을 추가하도록 API 파일을 업데이트했습니다. (I8e87a, b/287516207)
Chip
,CompactChip
,ToggleChip
의 높이 상수를 공개했습니다. (Idbfde)Chip
및CompactChip
의 가로 및 세로 패딩을 공개했습니다. (Ieeaf7)- 새
userSwipeEnabled
매개변수를 통해SwipeDismissableNavHost
에서 스와이프 처리를 사용 중지하는 기능을 추가했습니다. (Id2a0b, b/230865655) - Wear Compose Foundation의 새
SwipeToDismissBox
를 사용하도록 Wear Compose Navigation 라이브러리를 업데이트했습니다. (I4ff8e)
버그 수정
- 버튼이 있는 경우 버튼의 동작을 클릭한 후
expandedItem
가 올바른 콘텐츠를 표시하지 않는 z 순서 버그를 수정했습니다. (I1899d, b/289991514) HierarchicalFocusCoordinator
를 사용하여SwipeToDismissBox
(및SwipeDismissableNavHost
)의 포커스 처리를 개선했습니다. (I45362, b/277852486)SwipeableV2
의 동작 처리를 수정했습니다 . (I89737)- 1.2 출시의 기준 프로필이 완성되었습니다. (Id5740)
SwipeToDismissBox
가 Foundation으로 이전된 후 MaterialSwipeToDismissBox
구현은 이제 Foundation으로 전달하고 테마의 기본 색상 값을 제공합니다.(If8451)ListHeader
에 제목 시맨틱을 추가했습니다. (Ic5420)- 이제
Chip
및ToggleChip
는 필요한 경우 접근성을 위해 큰 글꼴로 인해 늘어난 콘텐츠를 수용하도록 높이를 조정합니다. (Iaf302) - 접근성을 위해
SplitToggleChip
의 탭 가능한 영역의 시맨틱 역할에 있는 버그가 수정되었습니다. (Ieed3a) - 이제 모션 감소 설정을 사용하면 자리표시자에서 쉬머링 효과와 와이프 오프 모션이 사용 중지됩니다. (I91046)
- 이제
Stepper
및InlineSlider
에서 길게 누르면 클릭이 반복되므로 + 또는 - 버튼을 길게 눌러Stepper
및InlineSlider
의 값을 빠르게 늘리거나 줄일 수 있습니다. (I27359)
버전 1.3.0-alpha01
2023년 6월 21일
androidx.wear.compose:compose-*:1.3.0-alpha01
이 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.
버그 수정
1.2.0-alpha07
및1.2.0-alpha10
에서 발표된 바와 같이 이제 Android 플랫폼 전반에서 일관되도록 글꼴 패딩을 사용 중지하도록DefaultTextStyle
를 변경합니다. 이렇게 하면 큰 글꼴 크기로 텍스트가 잘리는 일부 사례가 해결되고 화면 레이아웃에도 영향을 미칠 수 있으므로 스크린샷 테스트를 업데이트해야 합니다. 예를 들어 여기에서 텍스트 클리핑을 볼 수 있습니다 (Ic6a86).
- 글꼴 패딩이 사용 중지되면 더 이상 표시되지 않습니다.
wear.compose.foundation
를wear.compose.material
의 API 종속 항목이 되도록 업데이트했습니다. (I72004, b/285404743)SwipeToDismissBox
의 버그가 수정되었습니다. 이제 콘텐츠 또는 배경이 변경될 때 새 수정자가 생성되도록 배경 및 콘텐츠 키가 remember 블록에 전달됩니다. (Ib876c, b/280392104)- 12시간 또는 24시간 형식을 선택할 때 언어를 사용하도록
TimeText
를 업데이트했습니다. (If4a3d) SwipeToDismissBox
contentScrimColor
기본 매개변수의 불일치를 수정했습니다. (I2d70f)SwipeToReveal
의 모션 처리가 개선되었습니다. (I28fb7)
알려진 문제
- 사용자가 구성한 글꼴 크기를 지원하는 것은 접근성 요구사항입니다. 여러 줄 칩을 큰 글꼴 크기로 표시하면 텍스트가 잘릴 수 있으므로 이러한 경우 높이를 조정할 수 있도록 초기 1.3 알파 버전에서 칩을 업데이트할 예정입니다.
버전 1.2
버전 1.2.1
2023년 10월 18일
androidx.wear.compose:compose-*:1.2.1
이 출시되었습니다. 버전 1.2.1에 포함된 커밋을 확인하세요.
버그 수정
PositionIndicator
가 잘못 사라지는 버그가 수정되었습니다. (7a167f)
버전 1.2.0
2023년 8월 9일
androidx.wear.compose:compose-*:1.2.0
이 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.
1.1.0 이후 중요 변경사항
- Wear OS 1.2.0용 Compose의 안정화 버전입니다 (자세히 알아보기).
- Wear Compose 1.2의 주요 변경사항 목록은 Wear OS 1.2 Beta01용 Compose의 출시 노트를 참고하세요.
버전 1.2.0-rc01
2023년 7월 26일
androidx.wear.compose:compose-*:1.2.0-rc01
이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- 1.2 출시 (Id5740)의 기준 프로필을 완성했습니다.
버전 1.2.0-beta02
2023년 6월 7일
androidx.wear.compose:compose-*:1.2.0-beta02
이 출시되었습니다. 버전 1.2.0-beta02에 포함된 커밋을 확인하세요.
새로운 기능
ScalingLazyColumn
에서 크기 조절 및 페이드 효과를 사용 중지하는 새로운 실험용LocalReduceMotion
CompositionLocal
변수를 추가했습니다. (I58024)
버그 수정
- Wear Compose Foundation 및 Material 라이브러리의 기준 프로필을 업데이트했습니다. (I4725d)
SwipeToDismissBox
contentScrimColor
매개변수의 기본값 불일치를 수정했습니다. (I2d70f)IncludeFontPadding
설정에 사용되는DefaultTextStyle
기본값을 수정했습니다. (I737ed)
버전 1.2.0-beta01
2023년 5월 24일
androidx.wear.compose:compose-*:1.2.0-beta01
이 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.
Wear OS 1.2용 Compose의 기능
Wear OS용 Compose 1.2-beta01 출시는 이 라이브러리 버전의 기능이 완전하고 API가 잠겨 있음을 나타냅니다 (실험용으로 표시된 경우 제외). Wear Compose 1.2에는 다음과 같은 새로운 기능이 포함되어 있습니다.
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 기기에서 컴포저블을 미리 봅니다.- Wear Compose에
DefaultTextStyle
를 추가하여PlatformTextStyle.includeFontPadding
속성을 기본적으로 true로 설정했습니다 (현재 설정). 이렇게 하면 초기 1.3 알파 버전에서 기본적으로 글꼴 패딩을 사용 중지하는 작업을 Compose 라이브러리와 동기화할 수 있습니다. 자세한 내용은 1.2.0-alpha10을 참고하세요.
새로운 기능
- reduce_motion 설정이 켜져 있을 때 사용 중지된 크기 조정 및 페이드 애니메이션을 위한 실험용 지원을 추가했습니다. (I58024)
버그 수정
CurvedSize.kt
의angularWidthDp
문서가 개선되었습니다. (Iab75c)- 이제
SwipeDismissableNavHost
에서 빈 백스택의 원인일 수 있는 경고를 로깅합니다. 이는 백스택이 비었을 때 발생한IllegalArgumentException
로 인해 예기치 않은 비정상 종료가 발생하지 않도록 하기 위함입니다. (I04a81, b/277700155)
버전 1.2.0-alpha10
2023년 5월 10일
androidx.wear.compose:compose-*:1.2.0-alpha10
이 출시되었습니다. 버전 1.2.0-alpha10에 포함된 커밋을 확인하세요.
새로운 기능
- 보조 작업에 액세스하는 수단으로 스와이프하여 표시를 지원합니다. 이 패턴은 사용자가 (다른) 보조 작업을 표시할 수 있는 기존 방법인 '길게 누르기' 패턴을 보완합니다. (I60862)
API 변경사항
- 추가 작업이 표시되는 오프셋에 액세스할 수 있는
RevealScope
를SwipeToReveal
의 작업 컴포저블에 추가했습니다. (I3fd56)
버그 수정
- 플링 후 Wear API 33에서
ScalingLazyColumn
가 중단되는 문제를 수정했습니다. (Ic4599) - 버벅거림을 줄이기 위해
PositionIndicator
의 성능을 일부 개선했습니다. (I35e92) - 칩 및
CompactChip
에서 더 이상 시맨틱 역할이Role.Button
로 설정되지 않는 버그를 수정했습니다. (I93f91, b/277326264)
알려진 문제
@WearPreviewDevices 및 @WearPreviewFontScales로 주석을 추가할 때 미리보기 렌더링에 실패를 일으키는 Android 스튜디오의 버그가 발견되었습니다. 곧 수정사항이 출시될 예정입니다. 다른 Wear 미리보기 주석은 Android 스튜디오 Giraffe 2022.3.1 이상에서 정상적으로 작동합니다.
버전 1.2.0-alpha07에서는 Wear Compose에 DefaultTextStyle을 추가하고 기존 PlatformTextStyle.includeFontPadding 값을 true로 유지했습니다. 자세한 내용은 Compose에서 글꼴 패딩 수정을 참고하세요. Android 플랫폼 전반에서 일관성을 유지하기 위해 초기 1.3 알파 버전에서 폰트 패딩을 사용 중지하도록 DefaultTextStyle을 변경할 예정입니다. 이렇게 하면 큰 글꼴 크기로 텍스트가 잘리는 일부 사례가 해결되고 화면 레이아웃에도 영향을 미칠 수 있으므로 스크린샷 테스트를 업데이트해야 합니다. 예를 들어 글꼴 크기가 큰 경우 다음과 같이 텍스트가 잘립니다.
- 글꼴 패딩이 사용 중지되면 더 이상 표시되지 않습니다.
이제 테마에서 서체를 재정의하여 새 설정을 채택할 수 있습니다(코드 예시 참고).
버전 1.2.0-alpha09
2023년 4월 19일
androidx.wear.compose:compose-*:1.2.0-alpha09
이 출시되었습니다. 버전 1.2.0-alpha09에 포함된 커밋을 확인하세요.
API 변경사항
- DP로 각도 너비를 설정하기 위해
CurvedModifier
API에angularSizeDp
를 추가했습니다. (I89a52)
버그 수정
- 시간 선택 도구 데모의 접근성 문제를 수정했습니다. (Id0eb7)
버전 1.2.0-alpha08
2023년 4월 5일
androidx.wear.compose:compose-*:1.2.0-alpha08
이 출시되었습니다. 버전 1.2.0-alpha08에 포함된 커밋을 확인하세요.
API 변경사항
ExpandableItemsState
의 이름을ExpandableState
로 바꾸었습니다. (If85ea)- 콘텐츠가 펼쳐질 때 접히는 버튼을 간편하게 만들 수 있도록
expandableButton
를 추가하고 확장 가능한 예시를 업데이트했습니다. (Iae309)
버그 수정
- 더 많은 가능성을 보여주기 위해 펼칠 수 있는 샘플을 개선했습니다. 애니메이션을 통해 콘텐츠가 가운데에 유지되도록
expandableItem
의 애니메이션을 수정했습니다. (I2f637) - 상태를 사용하여 색상을 수동으로 애니메이션할 때 추가 재구성이 발생하지 않도록
ToggleControls
를 업데이트했습니다. (I5d319)
버전 1.2.0-alpha07
2023년 3월 22일
androidx.wear.compose:compose-*:1.2.0-alpha07
이 출시되었습니다. 버전 1.2.0-alpha07에 포함된 커밋을 확인하세요.
API 변경사항
MaterialTheme
에 대한 의미 있는 참조가 없으므로 확장 가능한 항목 구성요소 (1.2.0-alpha06에 추가됨)를 Material에서 Foundation으로 이동했습니다. (Ib0525)
버그 수정
- 선택 도구에 포커스가 없을 때
PickerGroup
가 포커스를 올바르게 처리하도록 하여PickerGroup
를 사용하는 화면에서 발생하는 비정상 종료 문제를 수정했습니다. 선택 도구 데모에 RSB 스크롤 지원도 추가했습니다. (If8c19) - 대화 전환이 개선되었습니다. 이제 아우트로 전환에 맞춰 인트로 전환이 더 원활해졌습니다. (Ib5af9)
- Wear Compose에
DefaultTextStyle
를 추가하여PlatformTextStyle.includeFontPadding
속성을 기본적으로 true로 설정했습니다 (현재 설정). 이렇게 하면 향후 기본적으로 글꼴 패딩을 사용 중지하는 작업을 Compose 라이브러리와 동기화할 수 있습니다. 배경 정보는 (Compose에서 글꼴 패딩 수정)을 참고하세요. (I2aee8) - Google Play 스토어에 앱을 게시하는 것을 차단하는 activity-compose를 통한
UpsideDownCake
미리보기 종속 항목을 되돌렸습니다. (I6443d)
버전 1.2.0-alpha06
2023년 3월 8일
androidx.wear.compose:compose-*:1.2.0-alpha06
이 출시되었습니다. 버전 1.2.0-alpha06에 포함된 커밋을 확인하세요.
API 변경사항
- 곡선형 세상에서 구성요소를 서로 겹쳐 배치하는
CurvedBox
구성요소를 추가합니다. (I29200) - 펼칠 수 있는 항목 추가 -
ScalingLazyColumn
의 펼칠 수 있는 항목 그룹 또는 펼칠 수 있는 단일 항목(예: 줄 수가 늘어나는 텍스트)을 지원하는 두 가지 새로운 구성요소가 추가되었습니다. (I95dd5) - Wear 화면에서 컴포저블을 미리 보려면 다음과 같은 맞춤 주석을 추가하세요.
WearPreviewSmallRound
: 작은 원형 기기에서 컴포저블을 미리 봅니다.WearPreviewLargeRound
: 큰 원형 기기에서 컴포저블을 미리 봅니다.WearPreviewSquare
: 정사각형 기기에서 컴포저블을 미리 봅니다. 또한 다음과 같은 다중 미리보기 주석이 있습니다.WearPreviewFontScales
는 여러 글꼴 크기가 있는 Wear 기기에서 컴포저블을 미리 보이지만WearPreviewDevices
는 여러 Wear 기기에서 컴포저블을 미리 봅니다. 이러한 미리보기를 사용하려면 최신 Android 스튜디오 (Giraffe Canary 6) 이상을 사용해야 합니다. 이러한 주석이 목적에 맞지 않는 경우에도 미리보기를 계속 사용할 수 있으며 매개변수를 통해 추가 맞춤설정을 지원합니다. (I397ff) HierarchicalFocusCoordinator
는 광범위한 적용성을 고려하여 핵심 Compose 라이브러리로 이동할 후보로 간주되지만 실험용으로 표시되어 있습니다. (I3a768)
버그 수정
HierarchicalFocusCoordinator
의 버그가 수정되었습니다.focusEnabled
매개변수에 전달된 람다가 변경되면 이제 새 람다가 올바르게 사용됩니다. (Icb353)Button
,CompactButton
,Chip
,CompactChip
,ToggleButton
에서 기본 색상을 배경으로 사용할 때 기본 사용 중지된 콘텐츠 색상을 배경으로 업데이트했습니다. 이렇게 하면 접근성을 위해 대비가 개선됩니다. (I527cc)
버전 1.2.0-alpha05
2023년 2월 22일
androidx.wear.compose:compose-*:1.2.0-alpha05
이 출시되었습니다. 버전 1.2.0-alpha05에 포함된 커밋을 확인하세요.
API 변경사항
- 선택적으로 최소 제약 조건을 컴포저블에 전파할 수 있도록
PickerGroup
API를 업데이트했습니다. true로 설정하면 상위 컴포저블에서 전달된 최소 제약 조건이PickerGroup
에서 허용됩니다. false로 설정하면PickerGroup
가 최소 제약 조건을 재설정합니다. (I3e046) - 특정 선택 도구 옵션에 대한 프로그래매틱 애니메이션을 지원하기 위해 Picker API에
animateScrollToOption
를 추가했습니다. (I6fe67)
버그 수정
- 오른쪽에서 왼쪽 레이아웃을 지원하도록
HorizontalPageIndicator
를 업데이트했습니다. (Ia4359) HorizontalPageIndicator
에서 오른쪽에서 왼쪽 레이아웃의 스크린샷 테스트를 추가했습니다. (I6fbb8)TestNavHostController
를 사용하는SwipeDismissableNavHostTest
에 추가 테스트를 추가했습니다. (I61d54)
버전 1.2.0-alpha04
2023년 2월 8일
androidx.wear.compose:compose-*:1.2.0-alpha04
가 출시되었습니다. 버전 1.2.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
- 포커스 API를 사용하여 여러 선택 도구를 함께 처리하는
PickerGroup
. 여러 선택 도구 간의 포커스를 처리하고, 매개변수를 기반으로 선택 도구의 자동 가운데 정렬을 지원하고, 개발자가 그룹에서 전송된 이벤트를 처리할 때 여러 선택 도구 간의 포커스를 변경할 수 있도록 합니다. TalkBack 모드에서는PickerGroup
이 그룹의 선택된 선택 도구로 포커스를 이동하여 TalkBack 포커스를 처리합니다. (I60840)
API 변경사항
- 기본 범위 시맨틱스를 쉽게 비활성화할 수 있도록 추가
enableRangeSemantics
매개변수를 사용하여 스테퍼에 오버로드를 추가했습니다. (Ia61d4)
버그 수정
- 가로 방향으로 스크롤되는 페이지에서
ScalingLazyColumn
이 중첩되는 것을 허용합니다. (Iec3f8, b/266555016) - 스테퍼 kdocs 및
StepperTest
테스트 정리를 개선했습니다. (Ic118e) androidx.navigation
종속 항목을 버전 2.5.3으로 업데이트했습니다. (If58ed)
버전 1.2.0-alpha03
2023년 1월 25일
androidx.wear.compose:compose-*:1.2.0-alpha03
이 출시되었습니다. 버전 1.2.0-alpha03에 포함된 커밋을 확인하세요.
API 변경사항
ScalingLazyColumn
및 관련 클래스를androidx.wear.compose.material.ScalingLazyColumn
에서andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn
으로 이전했습니다(이전은 이 예 참고). 이 새로운 위치는 독자적인 Material 구성요소가 아니므로compose.foundation.lazy.LazyColumn
의 위치와 더 가깝고 더 자연스럽습니다. 이러한 변경은 현재 새로운 Material3 라이브러리에 대한 준비이며, 기존 Material 라이브러리와 동시에 작업할 예정입니다. (I060e7)
다음 변경사항은 Material에서 Foundation.Lazy
로의 ScalingLazyColumn
이전의 일부입니다.
- Material
ScalingLazyColumn
을 타겟팅하는PositionIndicator
API가 지원 중단되었습니다.Foundation.Lazy ScalingLazyColumn
으로 업데이트하세요. 또한anchorType
필드가ScalingLazyListLayoutInfo
에 추가되었습니다. (I29d95) ScalingLazyColumn
은 Wear Compose Material 패키지에서 지원 중단된 것으로 표시했습니다. (I16d34)- Wear Compose
Foundation.Lazy
의ScalingLazyListState
를 사용하도록ScrollAway
수정자를 업데이트하고 Wear Compose Material의ScalingLazyListState
를 사용하는 오버로드를 지원 중단했습니다. (Ifc42c) Foundation.Lazy
의ScalingLazyListState
를 사용하도록 Dialog API를 업데이트하고 MaterialScalingLazyListState
를 사용한 오버로드를 지원 중단했습니다. (Ic8960)Foundation.Lazy
의ScalingParams
를 사용하도록 Picker API를 업데이트했으며 MaterialScalingParams
를 사용한 오버로드를 지원 중단했습니다. (Idc3d8)
버그 수정
- 값이 실제로 변경될 때만 업데이트를 푸시하도록 하여
ScalingLazyListState.centerItemIndex
에서 불필요한 리컴포지션을 일으키는 버그를 수정했습니다. (Ia9f38) SwipeToDismissBox
의 성능을 개선했습니다. (I3933b)- Wear Compose Foundation에
ScalingLazyColumn
벤치마크 테스트를 추가했습니다. (Ie00f9) - Material의 일부 내부
ScalingLazyColumn
클래스 메서드를 업데이트하여Foundation.Lazy
에서 이에 상응하는 메서드를 사용하도록 했습니다. (I38aab) - 선택 도구 테스트의 일부 문제를 해결하고 오프셋으로 스크롤을 확인하는 테스트를 더 추가했습니다. (I6ac34)
- Material
ScalingLazyColumn
대신Foundation.Lazy
에 종속되도록ScalingLazyColumn
통합 데모를 이전했습니다. (Ic6caa) DatePicker
데모에 선택적fromDate/toDate
매개변수를 추가했습니다. (I961cd)
버전 1.2.0-alpha02
2023년 1월 11일
androidx.wear.compose:compose-*:1.2.0-alpha02
가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
- 이제 Android Compose UI 테스트가 프레임을 실행하여 유휴 상태가 될 때(예:
waitForIdle
을 통해) 각 프레임의 레이아웃 패스를 실행합니다. 이는 레이아웃 애니메이션의 개별 프레임에서 어설션하는 테스트에 영향을 미칠 수 있습니다. (I8ea08, b/222093277) BasicText
와의 일관된 동작을 위해 매개변수minLines
를 Wear Text에 추가했습니다. (I24874)CompactChipTapTargetPadding
이 문서에 표시되도록 공개되었습니다. (If1e70, b/234119038)
버그 수정
wear.compose
패키지의 멀티플랫폼 빌드를 사용 중지합니다. (Iad3d7)scrollToOption
의 kdocs를 수정합니다. (I6f9a0)PlaceholderState.rememberPlaceholderState()
가rememberUpdatedState
를 사용하도록 업데이트되어onContentReady
람다인 경우 상태가 업데이트됩니다. (I02635, b/260343754)Modifier.graphicsLayer
에 추가된 새로운 합성 전략을 활용하여Picker
구성요소에서 나타나는 텍스트 흔들림 문제를 수정했습니다. (I99302)DatePicker
데모에서 깜박임을 유발하는 버그를 수정했습니다. (I660bd)- 시간(12시간) 및 날짜 선택 도구 데모의 접근성을 개선했습니다. (I05e12)
- 선택되지 않은 경우 선택 도구가 RSB 변경사항의 영향을 받지 않도록 시간 및 날짜 선택 도구 데모를 업데이트했습니다. (I4aecb)
버전 1.2.0-alpha01
2022년 12월 7일
androidx.wear.compose:compose-*:1.2.0-alpha01
이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- 다음 애니메이션 루프가 시작될 때까지 기다리는 대신 콘텐츠가 준비되는 즉시 '와이프오프' 효과가 적용되도록 실험용 자리표시자 기능을 업데이트했습니다. 쉬머 및 와이프오프 애니메이션에도 몇 가지 업데이트를 적용했습니다. (I5a7f4)
API 변경사항
- 컴포지션의 하위 트리를 포커스 사용 설정 또는 포커스 사용 중지로 표시할 수 있도록
HierarchicalFocusCoordinator
컴포저블을 추가했습니다. (I827cb) ToggleButton
의 시맨틱 역할을 재정의하는 새 속성을 추가했습니다. (I67132)TimeText
에서 오전/오후가 삭제되도록TimeTextDefaults.TimeFormat12Hours
를 업데이트했습니다. 이로 인해TimeText
API에서timeSource
매개변수의 기본값이 변경됩니다. (I1eb7f)- 다중 선택 도구가 있는 화면의 접근성을 개선하기 위해 Picker API를 확장했습니다. 선택 도구를 통한 사용자 스크롤의 사용 가능 여부를 제어하는 새 속성
userScrollEnabled
를 추가했습니다. (I3c3aa)
버그 수정
- 최종 UX 사양과 일치하도록
OutlinedButton/OutlinedCompactButton
의 기본 테두리 너비를 2.dp에서 1.dp로 변경했습니다. (Icf84d) - 빈
ScalingLazyColumn
에 추가된 첫 번째 항목이 제자리로 스크롤되는 것처럼 보이는 효과를 줄이기 위해 콘텐츠가 비어 있을 경우 추정autoCentering topPadding
을 추가했습니다. 이로 인해 높이가 0dp인 초기 항목이 있다고 가정하여 필요한 상단 패딩의 양이 계산됩니다.ScalingLazyListAnchorType.ItemStart
의 경우 올바른 상단 패딩이 계산되고,ScalingLazyListAnchorType.ItemCenter
의 경우 콘텐츠의 크기를 올바르게 계산하려면 항목의 높이가 필요하므로 계산이 올바르지 않게 되어 항목의 실제 높이에 따라 제자리로 스크롤되는 효과가 약간 발생합니다. (I239a4) SwipeToDismiss
애니메이션에 적용되는 배경 스크림을 Wear 플랫폼과 일치하도록 업데이트했습니다. (I9003e)- 0으로 나누기 오류가 발생하지 않도록 크기가 0인 목록 항목의 경우
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에 포함된 커밋을 확인하세요.
1.0.0 이후 중요 변경사항
- Wear OS 1.1.0용 Compose의 안정화 버전입니다(자세히 알아보기).
- Wear Compose 1.1의 주요 변경사항 목록은 Wear OS 1.1 Beta01용 Compose의 출시 노트를 참고하세요.
새로운 기능
- 다음 애니메이션 루프가 시작될 때까지 기다리는 대신 콘텐츠가 준비되는 즉시 '와이프오프' 효과가 적용되도록 실험용 자리표시자 기능을 업데이트했습니다. 쉬머 및 와이프오프 애니메이션에도 몇 가지 업데이트를 적용했습니다. (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).
API 변경사항
- 버튼 형태를 수정하는 오버로드를 추가했습니다(Icccde).
버그 수정
ToggleChip
의 전환 버튼 컨트롤 영역 크기를 수정했습니다. UX 사양과 일치하지 않았기 때문입니다. UX 사양에서는 라벨과 24x24.dp 전환 버튼 컨트롤 아이콘 영역 사이에 4.dp 스페이서를 요구하여 총 28.dp 너비를 제공합니다. 그러나 구현에서는 36x24.dp 전환 버튼 컨트롤 영역을 잘못 제공합니다. 결국 사용할 수 있는 텍스트 라벨 영역 8.dp가 삭제됩니다. 참고: 이 버그 수정은 텍스트 라벨의 추가 공간을 제공하므로 결과적으로 텍스트가 오버플로되는 텍스트 레이아웃에 긍정적인 영향을 미칠 수 있습니다.ToggleChips
를 포함한 스크린샷 테스트가 있는 경우 업데이트해야 할 수 있습니다(I514c8, b/240548670).
버전 1.1.0-alpha02
2022년 7월 27일
androidx.wear.compose:compose-foundation:1.1.0-alpha02
, androidx.wear.compose:compose-material:1.1.0-alpha02
, androidx.wear.compose:compose-navigation:1.1.0-alpha02
가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
- Core Compose 라이브러리의 Wear OS 종속 항목용 Compose를 1.2.0에서 1.3.0-alpha0X로 변경했습니다.
API 변경사항
- 칩 모양 수정에 적용되는 오버로드를 추가되었습니다. (I02e87)
버그 수정
- 기존 확장 애니메이션과 일치하도록 대화상자를 표시하거나 숨길 때 비네트의 표시 상태를 애니메이션으로 처리했습니다. (Ida33e)
- 스크롤할 때 플링 동작과 함께 0으로 나누기가 발생할 수 있는 버그를 수정했습니다. (I86cb6)
- 사용 중지된 배경 색상이 완전히 투명하게 표시되도록
ChipDefaults.childChipColor()
의 버그를 수정했습니다. (I2b3c3, b/238057342)
버전 1.1.0-alpha01
2022년 6월 29일
androidx.wear.compose:compose-foundation:1.1.0-alpha01
, androidx.wear.compose:compose-material:1.1.0-alpha01
, androidx.wear.compose:compose-navigation:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- 선택 도구의
contentDescription
매개변수는 이제 선택된 선택 도구 옵션에만 사용되며 null을 허용하는 문자열을 사용합니다(이전에는 옵션에서 콘텐츠 설명으로 매핑을 전달해야 했지만 선택한 옵션만 사용됨). (Ife6a7) - 스크린 리더로 여러 선택 도구를 탐색할 수 있고 콘텐츠 설명에 액세스할 수 있도록 선택 도구의 접근성이 개선되었습니다. (I64edb)
버그 수정
- Wear Compose 라이브러리로 패키징된 기준 프로필 규칙을 업데이트했습니다. (I9c694)
- 칩의 그라데이션 방향을 오른쪽에서 왼쪽 모드로 수정했습니다. 기존에는 왼쪽 상단에서 오른쪽 하단 방향이었고 이제 오른쪽 상단에서 왼쪽 하단 방향입니다. (Ic2e77)
Chip/ToggleChip/Card
의 기본 그라데이션을 최신 UX 사양과 일치하도록 업데이트했습니다.ChipDefaults.gradientBackgroundChipColors
를 업데이트하여 32.5%가 아닌 기본 색상의 50%에서 시작하도록 했습니다.CardDefaults.cardBackgroundPainter
가 기본 30%에서 시작하여onSurfaceVariant
의 20%로 종료되도록 업데이트되었습니다(기존에는onSurfaceVariant
의 20%에서 시작하여 10%로 종료됨).ToggleChip.toggleChipColors
는 표면 색상의 75%에서 기본 색상의 32.5%로 종료되는 선형 그라데이션을 표면 색상의 0%에서 기본 색상의 50%로 종료되도록 변경합니다. (I43bbd)- 경사 배경 뒤에 밝은 색상이 사용되는 경우가 드물게 발생하더라도 경사 배경이 적절하게 표시되도록 경사 배경이 있는
Chip/ToggleChips
뒤에 배경 색상(MaterialTheme.color.surface
)을 추가했습니다. (Ibe1a4, b/235937657) gradientRatio
를 0으로 설정하면 정렬을 변경하는 부작용이 발생하던 버그를 수정하여 이제 선택 도구 항목이 항상 가운데 정렬됩니다. (I712b8)
버전 1.0
버전 1.0.2
2022년 9월 7일
androidx.wear.compose:compose-foundation:1.0.2
, androidx.wear.compose:compose-material:1.0.2
, androidx.wear.compose:compose-navigation:1.0.2
가 출시되었습니다. 버전 1.0.2에 포함된 커밋을 확인하세요.
버그 수정
- Scaffold에서 위치 및 페이지 표시기의 z 순서를 수정했습니다. 이제 표시기가 비네트 위에 나타나므로 비네트가 있어도 해당 부분이 가려지지 않습니다. (Ib988f, b/244207528)
버전 1.0.1
2022년 8월 24일
androidx.wear.compose:compose-foundation:1.0.1
, androidx.wear.compose:compose-material:1.0.1
, androidx.wear.compose:compose-navigation:1.0.1
가 출시되었습니다. 버전 1.0.1에 포함된 커밋을 확인하세요.
버그 수정
- 투명성으로 인해 초기화를 완료하지 않은 적은 수(대부분 2개)의 목록 항목이 있는
ScalingLazyColumn
의 로직 버그를 수정합니다. (076c61)
버전 1.0.0
2022년 7월 27일
androidx.wear.compose:compose-foundation:1.0.0
, androidx.wear.compose:compose-material:1.0.0
, androidx.wear.compose:compose-navigation:1.0.0
가 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
1.0.0의 주요 기능
- Wear OS용 Compose의 첫 번째 공개 버전입니다(자세히 알아보기).
- Core Compose 라이브러리를 기반으로 하는 Wear OS용 Compose는 추가적인 웨어러블 전용 구성요소를 제공하며 적절한 경우 웨어러블 기기에 맞춤설정된 Core Compose 구성요소의 대체 구현을 제공합니다.
- Wear Compose의 주요 구성요소 목록은 Wear OS Beta01용 Compose의 출시 노트를 참고하세요.
버그 수정
- 기존 확장 애니메이션과 일치하도록 대화상자를 표시하거나 숨길 때 비네트의 표시 상태를 애니메이션으로 처리했습니다. (Ida33e)
- 스크롤할 때 플링 동작과 함께 0으로 나누기가 발생할 수 있는 버그를 수정했습니다. (I86cb6)
- 사용 중지된 배경 색상이 완전히 투명하게 표시되도록
ChipDefaults.childChipColor()
의 버그를 수정했습니다. (I2b3c3, b/238057342)
버전 1.0.0-rc02
2022년 6월 22일
androidx.wear.compose:compose-foundation:1.0.0-rc02
, androidx.wear.compose:compose-material:1.0.0-rc02
, androidx.wear.compose:compose-navigation:1.0.0-rc02
가 출시되었습니다. 버전 1.0.0-rc02에 포함된 커밋을 확인하세요.
버그 수정
- 카드의 경사 방향을 오른쪽에서 왼쪽(RTL) 모드로 수정했습니다. 기존에는 왼쪽 상단에서 오른쪽 하단 방향이었으며, 이제는 오른쪽 상단에서 왼쪽 하단 방향입니다. (Ic2e77)
Chip/ToggleChip/Card
의 기본 경사를 최신 UX 사양과 일치하도록 업데이트했습니다. 32.5%가 아닌 기본 색상의 50%에서 시작하도록ChipDefaults.gradientBackgroundChipColors
를 업데이트했습니다.CardDefaults.cardBackgroundPainter
는 기본 색상의 30%에서 시작하여onSurfaceVariant
의 20%로 끝나도록 업데이트했습니다(이전에는 onSurfaceVariant의 20%에서 시작하여 10%에서 끝남).ToggleChip.toggleChipColors
는 표면 색상의 75%에서 기본 색상의 32.5%로 가는 선형 경사에서 표면 색상의 0%에서 기본 색상의 50%로 가는 선형 경사로 변경됩니다. (I43bbd)- 경사 배경 뒤에 밝은 색상이 사용되는 경우가 드물게 발생하더라도 경사 배경이 적절하게 표시되도록 경사 배경이 있는
Chip/ToggleChips
뒤에 배경 색상(MaterialTheme.color.surface
)을 추가했습니다. (Ibe1a4, b/235937657) - Wear Compose 라이브러리로 패키징된 기준 프로필 규칙을 업데이트했습니다. (I9c694)
버전 1.0.0-rc01
2022년 6월 15일
androidx.wear.compose:compose-foundation:1.0.0-rc01
, androidx.wear.compose:compose-material:1.0.0-rc01
, androidx.wear.compose:compose-navigation:1.0.0-rc01
이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
API 변경사항
- Compose 라이브러리의 인터페이스가 이제 jdk8 기본 인터페이스 메서드를 사용하여 빌드됩니다. (I5bcf1)
버그 수정
fillMaxWidth()
를 명시적으로 호출하는 것이 불필요하고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에 포함된 커밋을 확인하세요.
새로운 기능
- 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) 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)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: 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) SwipeToDismissBoxState.Companion
객체를 비공개로 설정했습니다. (I39e84)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)
버그 수정
- 필요할 때 곡선 레이아웃이 업데이트되도록 합니다. (Ie8bfa, b/229079150)
- https://issuetracker.google.com/issues/226648931의 버그를 수정했습니다. (Ia0a0a, b/226648931)
- 불필요한 실험용 주석을 삭제했습니다. (I88d7e)
버전 1.0.0-alpha20
2022년 4월 6일
androidx.wear.compose:compose-foundation:1.0.0-alpha20
, androidx.wear.compose:compose-material:1.0.0-alpha20
및 androidx.wear.compose:compose-navigation:1.0.0-alpha20
이 출시되었습니다. 버전 1.0.0-alpha20에 포함된 커밋을 확인하세요.
새로운 기능
SwipeToDismiss
의edgeSwipeToDismiss
수정자를 추가합니다.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
속성을 추가했습니다. 이제PickerState
가ScrollableState
인터페이스를 구현합니다. (Ib89c7)
버그 수정
- Wear Compose 라이브러리의 Android 런타임(ART) 기준 프로필 규칙을 업데이트합니다. ART는 기기의 프로필 규칙을 활용하여 애플리케이션의 특정 하위 집합을 미리 컴파일함으로써 애플리케이션 성능을 개선할 수 있습니다. 디버그 가능한 애플리케이션에는 영향을 주지 않습니다. (Iaa8ef)
- 문서를 업데이트합니다. (I2c051)
버전 1.0.0-alpha19
2022년 3월 23일
androidx.wear.compose:compose-foundation:1.0.0-alpha19
, androidx.wear.compose:compose-material:1.0.0-alpha19
및 androidx.wear.compose:compose-navigation:1.0.0-alpha19
가 출시되었습니다. 버전 1.0.0-alpha19에 포함된 커밋을 확인하세요.
API 변경사항
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)
버그 수정
- 메시지가 표시되면 맞추기 애니메이션을 중지합니다. (Idb69d)
- PositionIndicator의 변경사항을 애니메이션으로 처리합니다. (I94cb9)
- UI/UX 피드백에 따라
ScalingLazyColumn
autoCentering을 변경했습니다. 따라서 색인이ScalingLazyListState.initialCenterItemIndex
이상인 항목을 표시 영역의 중앙으로 완전히 스크롤할 수 있도록만 충분한 공간을 제공합니다. 이를 통해 개발자는 처음에 중앙에 있는 항목에 관해 한두 개의 항목을 배치할 수 있고 이는 가운데로 스크롤할 수 없습니다. 즉, autoCenteringScalingLazyColumn
이initialCenterItemIndex/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-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) - 이제 선택 도구의 상단과 하단에 기본적으로 그라데이션이 표시됩니다. (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-alpha16
및 androidx.wear.compose:compose-navigation:1.0.0-alpha16
이 출시되었습니다. 버전 1.0.0-alpha16에 포함된 커밋을 확인하세요.
새로운 기능
CircularProgressIndicator
를 추가합니다. 진행률 표시기에 프로세스의 길이 또는 지정되지 않은 대기 시간이 표시됩니다. 전체 화면으로 사용된다면 TimeText 또는 기타 구성요소의 간격(컷아웃)을 지원합니다. (Iab8da)
API 변경사항
- 이제 선택 도구에
flingBehavior
매개변수가 있으며 기본값으로 인해 스크롤/플링 시 가장 가까운 옵션으로 맞춰집니다. (I09000) - InlineSlider 및 Stepper용 추가 정수 API (I1b5d6)
버그 수정
ScalingLazyListState
의 기본 initialCenterItemIndex를 0에서 1로 변경했습니다. 즉,ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =
)
를 사용하여 상태 구성에서 재정의되지 않으면 두 번째 목록 항목(색인 == 1)이 초기화 시 표시 영역의 중앙에 배치되고 첫 번째(색인 == 0) 항목이 그 앞에 배치됩니다. 이를 통해 대부분의 표시 영역이 목록 항목으로 채워지므로 처음부터 기본적으로 더 나은 시각적 효과를 적용할 수 있습니다. (I0c623, b/217344252)- Google에서는 그릴 목록 항목이 많이 있는지(일부 목록 항목의 크기를 축소할 때에도) 확인하려고 제공되는
ScalingLazyColumn
기본extraPadding
을 10%에서 5%로 줄였습니다. 이렇게 하면 표시 영역에 표시되지 않을 수 있는 추가 목록 항목이 작성되는 것을 방지할 수 있습니다. 비표준 scalingParams를 사용하는 경우(예: 좀 더 극단적인 확장) 개발자는viewportVerticalOffsetResolver
를 사용하여 추가 패딩을 조정할 수 있습니다. (I76be4) - 정사각형 기기에서 여러 줄에 발생하는 TimeText 문제를 해결했습니다. (Ibd3fb)
- 더 이상 상위 요소의 공간을 모두 채우지 않도록
ScalingLazyColumn
을 수정했습니다. 대신 콘텐츠의 크기에서 크기를 가져옵니다. 이렇게 하면LazyColumn
의 동작과 일치합니다. 이전 동작을 복원하려면Modifier.fillMaxSize()
를ScalingLazyColumn
에 전달합니다. 참고: 이 변경사항은 불완전하며 다음 알파 버전의 후속 변경사항에서 해결될 예정입니다. (I3cbfa)
버전 1.0.0-alpha15
2022년 1월 26일
androidx.wear.compose:compose-foundation:1.0.0-alpha15
, androidx.wear.compose:compose-material:1.0.0-alpha15
및 androidx.wear.compose:compose-navigation:1.0.0-alpha15
가 출시되었습니다. 버전 1.0.0-alpha15에 포함된 커밋을 확인하세요.
API 변경사항
ScalingLazyColumn
에 새로운 속성인autoCentering
이 추가되었습니다. true인 경우(기본값) 첫 번째와 마지막을 포함한 모든 항목이 목록 표시 영역 중앙에 표시되도록 스크롤할 수 있습니다. 자동 가운데 정렬을 사용하는 경우 세로 콘텐츠 패딩을 0.dp로 설정하는 것이 좋습니다. autoCentering과 세로 콘텐츠 패딩이 모두 제공되는 경우 두 항목 모두 첫 번째 및 마지막 목록 항목 이후에 추가 공간을 사용할 수 있게 되어 추가적인 스크롤이 가능해집니다. (I2a282, b/214922490)- 컴포저블이 다른 콘텐츠 위에 배치되는 전체 화면 대화상자를 트리거할 수 있도록 하는
Dialog
구성요소를 추가했습니다. 이 대화상자가 표시되면 스와이프하여 닫을 수 있으며 스와이프 동작이 진행되는 동안 상위 항목이 백그라운드에 표시됩니다. 대화상자 콘텐츠는Alert
또는Confirmation
(이전 구성요소AlertDialog
및ConfirmationDialog
에서 이름이 바뀜)이어야 하며,Alert
,Confirmation
,Dialog
는 모두androidx.wear.compose.material.dialog
패키지에 포함되어 있습니다. 알림 및 확인은 탐색 대상으로 사용할 수 있습니다. 또한 필요에 따라 알림 및 확인 매개변수에 ColumnScope를 추가했습니다. (Ia9014) - Wear OS용 Compose Material Theme 색상에서
onSurfaceVariant2
가 삭제되었으며 라이브러리 용도가onSurfaceVariant
로 대체되었습니다. (Icd592) PickerState
에서 옵션을 프로그래매틱 방식으로 선택하는 메서드를 추가했습니다. 이제PickerState
를 만들 때 처음에 선택한 옵션도 지정할 수 있습니다. (I92bdf)ScalingLazyColumn
의 플링 동작을 맞춤설정할 수 있는 지원을 추가했습니다. (I1ad2e, b/208842968)Wear.Compose.Navigation
라이브러리에NavController.currentBackStackEntryAsState()
를 추가했습니다. (If9028, b/212739653)- 측면 버튼이 회전하는 Wear 기기를 대상으로
Modifier.onRotaryScrollEvent()
및Modifier.onPreRotaryScrollEvent()
가 추가되었습니다. (I18bf5, b/210748686)
버전 1.0.0-alpha14
2022년 1월 12일
androidx.wear.compose:compose-foundation:1.0.0-alpha14
, androidx.wear.compose:compose-material:1.0.0-alpha14
및 androidx.wear.compose:compose-navigation:1.0.0-alpha14
가 출시되었습니다. 버전 1.0.0-alpha14에 포함된 커밋을 확인하세요.
새로운 기능
개발자가 특정 목록 항목으로 스크롤하고 초기 목록 항목 및 오프셋을 설정하는 작업을 제어할 수 있도록
ScalingLazyListState
에 다양한 메서드를 추가했습니다.이러한 변경사항이 도입됨에 따라 ScalingLazyList 표시 영역의 시작 부분이 아닌 가운데를 향하도록 ScalingLazyList가 수정되었습니다.
표시 영역의 중심선에 가운데(
ScalingLazyListAnchorType.ItemCenter
)를 맞춰야 하는지 아니면Edge
(ScalingLazyListAnchorType.ItemStart
)를 맞춰야 하는지 제어할 수 있도록 새 속성anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.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)Wear Compose에서
Stepper
에 대한 테스트를 추가했습니다. (I2d03a)Wear Compose 탐색에서
SwipeDismissableNavHost
샘플을 추가했습니다. (I85f06)
버전 1.0.0-alpha12
2021년 12월 1일
androidx.wear.compose:compose-foundation:1.0.0-alpha12
, androidx.wear.compose:compose-material:1.0.0-alpha12
및 androidx.wear.compose:compose-navigation:1.0.0-alpha12
가 출시되었습니다. 버전 1.0.0-alpha12에 포함된 커밋을 확인하세요.
새로운 기능
사용자가 다양한 값 중에서 선택할 수 있도록 스테퍼 구성요소를 추가했습니다. 스테퍼는 전체 화면 컨트롤로, 상단과 하단에 증가 버튼과 감소 버튼이 있고 중간에 슬롯이 있습니다(칩이나 텍스트를 사용할 것으로 예상됨). 버튼 아이콘은 필요한 경우 맞춤설정할 수 있습니다. (I625fe)
대화상자를 표시하는 새로운 컴포저블 2개를 추가했습니다. AlertDialog는 사용자의 응답을 기다린 후 제목, 아이콘, 메시지를 표시하고 a) 간단한 긍정/부정 선택의 경우 버튼 두 개, b) 좀 더 유연한 선택의 경우 세로로 나열된 칩이나 전환 칩을 표시합니다. ConfirmationDialog는 시간 제한이 적용된 확인 메시지를 표시합니다. 이 간단한 대화상자에는 제목과 애니메이션 아이콘을 위한 슬롯이 있습니다. (Ic2cf8)
API 변경사항
- 추천 대화상자 지속 시간 값에 단위(밀리초)가 추가됩니다. (I09b48)
버전 1.0.0-alpha11
2021년 11월 17일
androidx.wear.compose:compose-foundation:1.0.0-alpha11
, androidx.wear.compose:compose-material:1.0.0-alpha11
및 androidx.wear.compose:compose-navigation:1.0.0-alpha11
이 출시되었습니다. 버전 1.0.0-alpha11에 포함된 커밋을 확인하세요.
새로운 기능
- 사용자가 스크롤 목록에서 항목을 선택할 수 있도록 선택 도구 구성요소를 추가했습니다. 기본적으로 선택 가능한 항목 목록은 양방향으로 '무제한' 반복되므로 회전하는 원통을 측면에서 보는 것과 같을 수 있습니다. 향후 버전에서는 스와이프/플링 후 값에 맞추는 기능, PickerState에 함수를 추가하여 현재 값으로 설정/스크롤하는 기능이 추가될 예정입니다. (I6461b)
API 변경사항
- 목록 항목의 크기가 상위 컨테이너의 크기에 따라 지정될 수 있도록 ScalingLazyItemScope 및 일부 새로운 수정자 fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight를 추가했습니다. 항목은 상위 요소 크기의 전부 또는 일부를 채우도록 설정할 수 있습니다. 이렇게 하면 이미 LazyRow/Column에서 사용할 수 있는 기능이 노출됩니다. (I4612f)
- 항목에서 키를 보유할 수 있도록 ScalingLazyColumn 지원을 추가했습니다. 배열 및 목록에서 항목을 추가할 수 있도록 편의 메서드도 추가했습니다. (Ic1f89)
버그 수정
- 추가 TimeText 예 (I8cb64)
버전 1.0.0-alpha10
2021년 11월 3일
androidx.wear.compose:compose-foundation:1.0.0-alpha10
, androidx.wear.compose:compose-material:1.0.0-alpha10
및 androidx.wear.compose:compose-navigation:1.0.0-alpha10
이 출시되었습니다. 버전 1.0.0-alpha10에 포함된 커밋을 확인하세요.
새로운 기능
Wear Compose용 InlineSlider를 추가했습니다. InlineSlider를 사용하면 사용자가 값 범위에서 선택할 수 있습니다. 선택 범위는 해당 범위의 최솟값과 최댓값 사이의 막대로 표시되며, 사용자가 하나의 값을 선택할 수 있습니다. (If0148)
WearOS Codelab의 새 Compose를 확인하세요.
API 변경사항
- 이제 Macrobenchmark의
minSdkVersion
이23
입니다. (If2655)
버그 수정
- SideEffect에서 SwipeDismissableNavHost의 전환 처리가 업데이트되었습니다. (I04994, b/202863359)
- SwipeDismissableNavHost에서 전환 처리가 업데이트되었습니다. (I1cbe0, b/202863359)
버전 1.0.0-alpha09
2021년 10월 27일
androidx.wear.compose:compose-foundation:1.0.0-alpha09
, androidx.wear.compose:compose-material:1.0.0-alpha09
및 androidx.wear.compose:compose-navigation:1.0.0-alpha09
가 출시되었습니다. 버전 1.0.0-alpha09에 포함된 커밋을 확인하세요.
새로운 기능
- Wear OS에 Compose의 개발자 프리뷰를 출시했습니다. 기본 컴포저블을 검토하고 기본 컴포저블 사용 시작을 위한 추가 리소스 링크를 제공하는 블로그 게시물을 확인하세요.
API 변경사항
- 개발자가 Wear Material Design 색상 테마의 모든 색상을 맞춤설정할 수 있도록 하는 지원을 추가했습니다. (I4759b, b/199754668)
버그 수정
- 상태를 유지하는 SwipeToDismissBox 샘플을 추가했습니다. (Ibaffe)
- CurvedText, TimeText 및 SwipeToDismissBox용 KDocs에서 developer.android.com 가이드로 연결되는 링크를 추가했습니다. (I399d4)
- 이제, 현재 대상이 없으면 SwipeDismissableNavHost가 발생합니다(NavGraph가 wear.compose.navigation.composable 유틸리티 함수를 사용하여 빌드되지 않았음을 나타냄). (I91403)
- TimeText의 시간 소스 사용에 관한 추가 문서 및 예를 추가했습니다. (I4f6f0)
버전 1.0.0-alpha08
2021년 10월 13일
androidx.wear.compose:compose-foundation:1.0.0-alpha08
, androidx.wear.compose:compose-material:1.0.0-alpha08
및 androidx.wear.compose:compose-navigation:1.0.0-alpha08
이 출시되었습니다. 버전 1.0.0-alpha08에 포함된 커밋을 확인하세요.
API 변경사항
- AppCard와 TitleCard
body
속성의 이름을content
로 바꾸고 후행 람다로 제공할 수 있도록 속성 목록 끝으로 이동했습니다. 또한 새 슬롯 이름과 일관성을 유지하기 위해bodyColor
의 이름을contentColor
로 바꾸었습니다. (I57e78)
버그 수정
- 버튼, 카드, 칩, 테마, 위치 표시기, 지연 열 구성요소 확장과 관련하여 KDoc에서 developer.android.com 가이드로 연결되는 링크를 추가했습니다. (I22428)
- WearOS SwipeToDismissBox가 때때로 스와이프를 처리하지 않는 문제를 수정했습니다. (I9387e)
- Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip의 샘플을 추가했습니다. (Iddc15)
- Card, Chip, ToggleChip, TimeText and ScalingLazyColumn의 microbenchmark 성능 테스트를 추가했습니다. (If2fe9)
버전 1.0.0-alpha07
2021년 9월 29일
androidx.wear.compose:compose-foundation:1.0.0-alpha07
, androidx.wear.compose:compose-material:1.0.0-alpha07
, androidx.wear.compose:compose-navigation:1.0.0-alpha07
이 출시되었습니다. 버전 1.0.0-alpha07에 포함된 커밋을 확인하세요.
새로운 기능
- 머티리얼에 CurvedText 구성요소를 추가했습니다. 이 구성요소를 통해 개발자는 원의 곡선(일반적으로 원형 화면의 가장자리)에 따라 구부러진 텍스트를 쉽게 쓸 수 있습니다. (I19593)
API 변경사항
- TimeText용 테스트를 추가했습니다. (Idfead)
- ArcPaddingValues를 인터페이스로 변환합니다. (Iecd4c)
- SwipeToDismissBox에 애니메이션을 추가했습니다. (I9ad1b)
- 표시할 백그라운드 콘텐츠가 없을 때 스와이프 동작을 사용 중지할 수 있도록 SwipeToDismissBox API에 hasBackground 매개변수를 추가했습니다. (I313d8)
- 이제
rememberNavController()
는 반환된NavController
에 추가될 선택적Navigator
인스턴스 집합을 사용하여 선택적 탐색기(예: Accompanist 탐색 Material의 탐색기)를 더 효율적으로 지원합니다. (I4619e) - navigation-common에서 NamedNavArgument를 참조하고 wear.compose.navigation에서 사본을 삭제합니다. (I43af6)
버그 수정
- 소형 기기에서 CurvedRow 테스트 결함을 수정했습니다. (If7941)
- 콘텐츠가 업데이트될 때 CurvedRow에서 있을 수 있는 깜박임을 수정했으며 곡선 행이 다시 측정되도록 합니다. (Ie4e06)
- ChipDefaults.gradientBackgroundChipColors()가 UX 사양 변경에 따라 업데이트되었습니다. 이제 그라데이션이 MaterialTheme.colors.primary(알파 32.5%)로 시작되고 MaterialTheme.colors.surface(알파 75%) 배경에서 MaterialTheme.colors.surface(알파 0%)로 끝납니다. (Id1548)
- 선택 상태일 때의 ToggleChips의 색상이 최신 Wear Material Design UX 사양 안내와 일치하도록 업데이트했습니다. 이제 선택 상태일 때 ToggleChips의 그라데이션 배경은 왼쪽 상단 MaterialTheme.color.surface(알파 0%)로 시작하고 MaterialTheme.color.surface(알파 75%) 배경에서 오른쪽 하단 MaterialTheme.color.primary(알파 32%)로 끝납니다. 이에 따라 선택된 상태의 ToggleChip과 선택 해제된 상태의 ToggleChip 사이에 더 미묘한 차이가 발생합니다. (Idd40b)
버전 1.0.0-alpha06
2021년 9월 15일
androidx.wear.compose:compose-foundation:1.0.0-alpha06
, androidx.wear.compose:compose-material:1.0.0-alpha06
및 androidx.wear.compose:compose-navigation:1.0.0-alpha06
이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
새로운 기능
- Scaffold를 추가했습니다. 최상위 수준 애플리케이션 컴포저블로, 스크롤 또는 볼륨 등 PositionIndicators 위치를 처리하는 구조와 시간 및 애플리케이션 상태를 표시하는 화면 상단의 영역을 제공하고 스크롤 가능한 콘텐츠를 위해 화면 상단과 하단 가장자리를 흐리게 처리하는 비네트도 지원합니다. Scaffold의 기본 영역은 애플리케이션 콘텐츠가 배치되는 위치입니다. (I5e0bf)
- Wear Compose용 TimeText 구현을 추가했습니다. (I5654c)
Wear Compose Navigation 라이브러리
Wear Compose Navigation 라이브러리의 첫 번째 버전을 추가했습니다. Wear Compose와 Androidx Navigation 라이브러리 간의 통합을 제공하고 애플리케이션의 대상으로 @Composable 함수 간에 이동하는 간단한 방법을 제공합니다.
이번 최초 출시에서는 다음 기능을 제공합니다.
- 탐색 그래프를 호스팅하고 스와이프 동작을 통해 뒤로 탐색을 제공하는
SwipeDismissableNavHost
컴포저블 - 탐색 그래프 구성을 지원하는
NavGraphBuilder.composable
확장 프로그램 - 상태 호이스팅을 허용하는
rememberSwipeDismissableNavController()
- 탐색 그래프를 호스팅하고 스와이프 동작을 통해 뒤로 탐색을 제공하는
두 화면을 만들고 화면 간에 이동하는 사용 예는 다음과 같습니다.
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "start" ) { composable("start") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Button(onClick = { navController.navigate("next") }) { Text("Go") } } } composable("next") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Text("Swipe to go back") } } }
Wear Compose Navigation은 별도의 라이브러리로 패키징됩니다. 따라서 자체 수동 탐색을 구현하는 간단한 WearCompose 애플리케이션이 Androidx Navigation 라이브러리에 종속될 필요가 없습니다.
API 변경사항
- 백그라운드 및 콘텐츠의 키 ID를 설정하여
rememberSaveable
을 지원하도록SwipeDismissableNavHost
를 업데이트했습니다. (I746fd) - LazyListState를 처리할 수 있는 PositionIndicator 어댑터를 추가했습니다. (I21b88)
- rememberSaveable을 지원하도록 SwipeToDismissBox를 업데이트했습니다. (Ie728b)
- ScalingLazyColumn에 reverseLayout 지원을 추가했습니다. 이를 통해 스크롤 및 레이아웃 방향을 반대로 할 수 있습니다. (I9e2fc)
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)
- Wear 카드 구성요소를 일부 수정했습니다. (I6b3d0)
- 제목과 본문 사이의 TitleCard 간격을 8.dp에서 2.dp로 줄였습니다.
- TitleCard 헤더 글꼴을 본문에서 title3으로 변경했습니다.
- 카드 배경 그라데이션을 배경이 더 어두워 보이도록 변경했습니다.
버전 1.0.0-alpha05
2021년 9월 1일
androidx.wear.compose:compose-foundation:1.0.0-alpha05
및 androidx.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-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)
SwipeToDismissBox
API의 일부인SwipeDismissTarget
enum에@ExperimentalWearMaterialApi
를 추가했습니다. (I48b5e)
버그 수정
- SwipeToDismissBox의 테스트 자료를 추가했습니다. (I9febc)
버전 1.0.0-alpha03
2021년 8월 4일
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)
버그 수정
- 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-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) 웨어러블 기기에 권장하지 않는 구성요소를 사용하고 있는 것입니다.