wear protolayout
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2024년 5월 1일 | 1.1.0 | - | - | 1.2.0-alpha02 |
종속 항목 선언
wear-protolayout의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용을 알아보려면 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.2.0-alpha02" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0-alpha02" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0-alpha02" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha02") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha02") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha02") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.2
버전 1.2.0-alpha02
2024년 5월 1일
androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
- 클릭 가능한 개별 요소에 대한 물결 반응 사용 중지 지원을 추가했습니다. 추가합니다. (If1ede)
- 변환용 API는 이 기능을 지원하지 않으므로
ArcModifiers
에서 삭제되었습니다. (Ic0827) ArcDirectionProp
이제 빌더가 생성자의 값을 예상합니다. 추가했습니다. (I76ada)PlatformDataValues.Builder.putAll
메서드를 사용하면PlatformDataValue
메서드를 다른 메서드와 병합할 수 있습니다. 추가했습니다. (I50ba3)Text#setIsScalable
의 이름이Text#setScalable
로 변경되었습니다. 추가합니다. (If920e)- Material Text는 확장 가능한 크기 (사용자 글꼴 크기가 변경되면 늘어남)를 사용할지 여부를 설정할 수 있습니다. 추가했습니다. (Ibc849)
- 콘텐츠 설명을
TitleChip
로 설정하는 옵션을 추가했습니다. 추가했습니다. (I5d21f) CompactChip
가 아이콘에서만 올바르게 작동하고 이 옵션을 허용하도록 API를 업데이트하도록 수정되었습니다. 추가했습니다. (I6589e)
버그 수정
- 초기화 중에 잠재적 중복 플랫폼 데이터 문제가 해결되었습니다. 추가합니다. (Iba0fd)
DynamicDataNode
에 새 getter를 도입하여 노드 비용을 가져옵니다. 비용은 동적 노드 할당량을 획득할 때 사용됩니다. 현재 고정 값이 있는 노드의 비용은 0이고 다른 모든 노드의 비용은 1입니다. 추가했습니다. (Ia33e1)NO_OP_QUOTA_MANAGER
에서 계산 로직을 삭제합니다. 추가했습니다. (Ib50b8)PrimaryLayout
가setResponsiveContentInsetEnabled
없이 사용될 때 경고를 보고하고 빠른 수정을 제공하는 린트 규칙을 추가했습니다. 추가했습니다. (I12025)- 동적 표현식 노드의 수에는 제한이 있습니다. 추가합니다. (Iffae8)
버전 1.2.0-alpha01
2024년 3월 6일
androidx.wear.protolayout:protolayout-*:1.2.0-alpha01
가 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- 이제
ProtoLayout Arc
요소에ArcDirection
(Clockwise
,Counterclockwise
,Normal
)를 추가할 수 있는 옵션이 있습니다. 이 동작을Arc
,ArcLine
또는ArcText
에 추가하면 RTL 레이아웃에서의 동작이 수정됩니다. 추가했습니다. (I90699) - 상단의 고정된 위치에 기본 라벨을 배치하고 라벨의 반응형 인셋을 배치하여 카드의 일관성과 UX 가이드라인을 더 잘 준수할 수 있도록
EdgeContentLayout
를 새로운setResponsiveContentInsetEnabled
setter로 업데이트했습니다. 추가했습니다. (I60175) - 콘텐츠가 화면 가장자리를 벗어나지 않도록 이 레이아웃의 기본 라벨, 보조 라벨, 하단 칩에 반응형 인셋을 추가하는
PrimaryLayout.setResponsiveContentInsetEnabled
를 추가했습니다. 추가했습니다. (I0c457) - 더 작은 구성요소로 사용할 수 있도록
CircularProgressIndicator
에서 바깥쪽 여백을 삭제하는 메서드를 추가합니다. 추가했습니다. (I55c06)
API 변경사항
- 이제 카드 렌더러에서 글꼴 패딩을 포함하는 옵션 없이 기본적으로 모든 텍스트 요소의 글꼴 패딩을 제외합니다. 추가했습니다. (I3e300)
버그 수정
- 텍스트에서 줄임표, 문자 간격, 가운데 정렬이 모두 사용될 때 발생하는 텍스트 정렬 문제를 수정했습니다. 추가했습니다. (I716c7)
- 스키아 원호 그리기 문제의 해결 방법을 추가합니다. 추가했습니다. (I08f09)
- RTL 레이아웃의
ArcLine
그리기 방향을 수정합니다. 추가했습니다. (I6c141)
버전 1.1
버전 1.1.0
2024년 2월 7일
androidx.wear.protolayout:protolayout-*:1.1.0
가 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.
1.0.0 이후 중요 변경사항
ArcLine
에서 그라데이션이 지원되고 360도보다 긴 길이를 더 잘 표현합니다.- 날짜/시간 형식 지정은 동적 데이터 유형에 대해 다양한 시간대를 지원합니다.
- 잘린 텍스트를 처리하기 위해 텍스트 자동 크기 조정 및 생략 옵션 개선
- 스페이서는 선택사항 가중치와 함께 확장된 크기를 지원합니다.
- 모든
ProtoLayout
API에 대한 스키마 버전 요구사항 주석 - 접근성 요구사항을 충족하기 위해 대상 영역을
Clickable
요소로 48dp x 48dp로 확장했습니다. - 글꼴 패딩은 기본적으로 사용 중지되어 있으며 텍스트를 포함하는 모든 텍스트 요소와 Material 구성요소에서 유일한 동작입니다.
기타 변경사항
- 버전 1.1.0에 도입된 변경사항의 전체 내용은 beta01 출시 노트를 참고하세요.
버전 1.1.0-rc01
2024년 1월 24일
androidx.wear.protolayout:protolayout-*:1.1.0-rc01
가 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- 업데이트를 사용 설정하면 즉시
PlatformTimeUpdateNotifierImpl
이 재생됩니다. 추가했습니다. (I77145) - RTL 레이아웃의
CircularProgressIndicator
가 수정되었습니다. 이제부터는 모든 경우에 시계 방향으로 바뀝니다. 추가했습니다. (I95ee3) - 스키아 원호 그리기 문제의 해결 방법을 추가합니다. 추가했습니다. (I08f09)
버전 1.1.0-beta01
2024년 1월 10일
androidx.wear.protolayout:protolayout-*:1.1.0-beta01
가 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
Wear ProtoLayout의 1.1.0-beta01 버전은 이 라이브러리 버전의 기능이 완전하고 API가 잠겨 있음을 나타냅니다 (실험용으로 표시된 경우는 제외). Wear ProtoLayout 1.1에는 다음과 같은 새로운 기능과 API가 포함되어 있습니다.
- 이제
ArcLine
는SweepGradient
로Brush
를 추가하고 기존StrokeCap
에Shadow
를 추가하여 360도보다 큰 길이를 더 잘 나타낼 수 있도록 캡에 그림자를 추가하여 그라데이션을 지원합니다. DynamicInstant
는 시간대 분할 날짜-시간 형식을 지원합니다.DynamicInstant
및DynamicDuration
는 상태 또는 플랫폼 데이터 유형으로 사용할 수 있습니다.- 여러 크기를
FontStyle.setSizes
로 설정할 수 있는 텍스트 크기 자동 크기 조절 기능입니다. 텍스트 크기는 상위 요소 내부의 공간에 따라 자동으로 조정됩니다. 또한TEXT_OVERFLOW_ELLIPSIZE
를 추가하고TEXT_OVERFLOW_ELLIPSIZE_END
를 지원 중단하여 오버플로되는 텍스트의 생략 옵션을 개선했습니다. - 이제
Spacer
에서 가중치(선택사항)가 포함된 펼쳐진 크기를 사용할 수 있습니다.ExpandedDimensionProp
를 빌드하기 위해 도우미 메서드DimensionBuilders.weight
를 추가했습니다. Modifier.visible
를 사용하여 레이아웃 요소를 동적으로 숨김 및 숨기기 해제하도록 지원합니다. 여기에는BoolProp
에 동적 값을 포함하는 것도 포함됩니다.- 이제 모든
ProtoLayout
API에 스키마 버전 요구사항 주석이 있으며 최신 API를 호출하기 전에 버전을 확인할 수 있습니다. - 이제
Clickable
가 있는 모든 요소의 렌더기에서 타겟 영역이 최소 48x48로 확장되어 접근성 요구사항을 더 효과적으로 지원합니다. - 다른 Material 구성요소 및 Compose 이니셔티브에 따라 이제 모든
Text
요소에서 글꼴 패딩이 기본적으로 사용 중지되었습니다. 또한AndroidTextStyle
및 관련 setter가 공개 API에서 삭제되었으며 다음과 같은 버그가 수정되었습니다. - 다른 콘텐츠 앞에 배치할 수 있도록
EdgeContentLayout
에서 가장자리 콘텐츠를 배치하는 setter를 추가했습니다. - 인식할 수 없는 enum 값이 발생하면 지속적으로 예외가 발생합니다.
- 잘못된 숫자 값 (NaN 또는 무한)이 발생하거나
ArithmeticException
이 발생하는 경우 표현식의 결과를 무효화합니다.
API 변경사항
- 생성자에서 색상 또는
ColorStops
를 허용할 수 있도록SweepGradient
API를 업데이트했습니다. 추가했습니다. (I6676f)
버그 수정
- 호 요소가 그려지는 방향 설정을 위한 제한된 API 및 렌더기 지원 기능을 추가합니다. 추가했습니다. (Idef5a)
- 지정되지 않은 경우
RoundMode
의 기본값은FloatToInt32Node
에서Floor
입니다. 제공된RoundMode
를 인식할 수 없는 경우 노드에서 여전히 예외가 발생합니다. 추가했습니다. (I1b2d8)
버전 1.1.0-alpha04
2023년 12월 13일
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04
가 출시되었습니다. 버전 1.1.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
VersionInfo
클래스가Comparable
인터페이스를 구현하지 않습니다. 추가했습니다. (I8d13c)- 이제 렌더기가
TEXT_OVERFLOW_ELLIPSIZE
옵션을 지원합니다. 추가했습니다. (I7f085)
API 변경사항
- 이제 텍스트 오버플로 옵션
TEXT_OVERFLOW_ELLIPSIZE_END
이 지원 중단됩니다. 매우 유사한 동작의 새 APITEXT_OVERFLOW_ELLIPSIZE
을(를) 사용하세요. 추가했습니다. (I822d8) - 다른 Material 구성요소 및 Compose 이니셔티브에 따라 이제 모든 Text 요소에서 글꼴 패딩이 기본적으로 사용 중지되었습니다. 또한
AndroidTextStyle
및 관련 setter가 공개 API에서 삭제되었습니다. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3) Modifier.hidden
가Modifier.visible
로 대체되었습니다. (I56902)- 이제
FontStyle#setSizes
가SpProp
인수 대신 int를 허용합니다. 추가했습니다. (I02b37)
버그 수정
- 정의되지 않았거나 인식할 수 없는 enum 값이 발생하면 예외가 발생합니다. 추가했습니다. (I9d2cf)
DynamicTypeBindingRequest
를 리팩터링합니다. 추가했습니다. (I27b57)- 잘못된 숫자 값 (NaN 또는 무한)이 발생하거나
ArithmeticException
이 발생하는 경우 표현식의 결과를 무효화합니다. 추가했습니다. (I681ae)
버전 1.1.0-alpha03
2023년 11월 29일
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03
가 출시되었습니다. 버전 1.1.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 레이아웃 요소의 동적으로 숨기기/숨기기 해제를 위한 실험용 지원을 추가합니다. (I64a78)
BoolProp
에 동적 가치 지원을 추가합니다. (I2fe96)ProtoLayout
API에 스키마 버전 요구사항 주석을 추가했습니다. (I0f03c)- 최대 줄에 도달하지 않은 경우에도 (그러나 텍스트를 위한 공간이 충분하지 않은 경우) 고정된 상위 컨테이너의 텍스트를 생략하는
TextOverflow
의 새 옵션으로 API를 확장합니다. 추가했습니다. (I110a9) - 가중치가 적용된
ExpandedDimensionProp
를 빌드하기 위한 도우미 메서드DimensionBuilders.weight
가 추가되었습니다. 추가했습니다. (I4f72b) DynamicInstant
및DynamicDuration
는 상태 또는 플랫폼 데이터 유형으로 사용할 수 있습니다. 추가했습니다. (I6819f)
API 변경사항
DynamicZonedDateTime
를 숨기고 모든 작업을DyanamicInstant
로 이동하도록 API를 업데이트했습니다. (I34b94)- 이제 스페이서에서 너비/높이의 확장 후 크기를 지원합니다. 추가했습니다. (Ie7c94)
- 렌더기에서 클릭 타겟 영역 확장을 지원합니다. (I39c79)
버전 1.1.0-alpha02
2023년 11월 15일
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
- API에
ArcLine
StrokeCap
Shadow
필드가 추가되었습니다. 추가했습니다. (I830ec) - 확장할 스페이서의 너비 또는 높이를 지정할 수 있도록 API를 확장합니다. 추가했습니다. (I757ca)
- 상위 요소 내부의 공간에 따라 텍스트 크기를 자동으로 조정하는 실험용 API를 추가했습니다. 추가했습니다. (Ibbe63)
- 클릭 가능한 최소 크기를 지원합니다. (I178e3)
StrokeCap
Shadow
의 렌더기 지원이 추가되었습니다. 추가했습니다. (I48b17)ArcLine
에 스윕 그라데이션의 렌더기 지원을 추가합니다. 추가했습니다. (I4d5bb)
버전 1.1.0-alpha01
2023년 10월 18일
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
가 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
SweepGradient
를 지원하는 브러시 옵션이Arcline
에 추가되었습니다. 추가했습니다. (Ie7ce3)- 구역 분할된 날짜-시간 형식 지정에 대한 지원을 추가했습니다. 추가했습니다. (Ibfae0)
- 구역 분할된 날짜-시간 형식에 필요한 proto 및 Java 래퍼가 추가되었습니다. 추가했습니다. (I97126)
DynamicDataValue
에 저장된 값을 다시 읽기 위한 getter를 추가했습니다. 추가했습니다. (Ie6cea)- 다른 콘텐츠 앞에 배치할 수 있도록
EdgeContentLayout
에서 가장자리 콘텐츠를 배치하는 setter를 추가했습니다. 추가했습니다. (Ie8e8a)
버그 수정
- 여러 시간 데이터 소스 등록이 포함된 표현식이 즉시 업데이트되지 않는 문제가 수정되었습니다. 추가했습니다. (I8e1a8)
- diff 업데이트 중에 루트 요소를 중앙에 배치하는 버그가 수정되었습니다. 추가했습니다. (Ie48f7)
- 설정되지 않았거나 비어 있는 레이아웃 제약 조건 값은 더 이상 무시되지 않습니다. 추가했습니다. (Ibc785)
- 레이아웃이 표시되고 파이프라인 노드가 초기화될 때까지의 지연이 감소되었습니다. 추가했습니다. (I38d4e)
버전 1.0
버전 1.0.0
2023년 8월 9일
androidx.wear.protolayout:protolayout-*:1.0.0
가 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
1.0.0의 주요 기능
ProtoLayout 라이브러리에는 다양한 Wear OS 노출 영역에서 사용할 수 있는 레이아웃과 표현식을 만드는 API가 도입되었습니다. 예를 들어 카드 라이브러리는 이러한 API를 사용하여 플랫폼 데이터 결합 (빠른 카드 데이터 업데이트용) 및 애니메이션을 지원합니다.
버전 1.0.0-rc01
2023년 7월 26일
androidx.wear.protolayout:protolayout-*:1.0.0-rc01
가 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
- Tiles에서
ProtoLayout
로 이전하려면 여기에 나와 있는 안내를 따르세요.
API 변경사항
- Arc 요소에서
setLayoutConstraintForDynamicAnchorAngle
및getLayoutConstraintForDynamicAnchorAngle
메서드를 삭제했습니다. 이러한 메서드는 실수로 추가되었으며 제공된 레이아웃에는 영향을 미치지 않습니다. 추가합니다. (If7d01) ProtoLayout
의 레이아웃이 중첩LayoutElements
을 30개로 제한했습니다. 추가했습니다. (I8a74b)
버그 수정
DynamicColor
가SpanText
에 설정된 경우 발생하는 검사를 추가했습니다. 추가합니다. (I0e5bc)DAILY_CALORIES
데이터 소스 단위가 kcal인 것으로 명확히 되었습니다. 추가했습니다. (Iaa785)
버전 1.0.0-beta01
2023년 6월 21일
androidx.wear.protolayout:protolayout-*:1.0.0-beta01
가 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
- 시간 결합 테스트의 시계 설정을 허용합니다. 추가했습니다. (I05622)
API 변경사항
- 이제
PlatformDataReceiver.onData()
및StateBuilders.Builder.addKeyToValueMapping
가 안전하지 않은 제네릭이 아닌DynamicDataValue
에 대한DynamicDataKey
의 유형 안전 매핑을 허용합니다. 즉, 이제DynamicDataValue
가DynamicType
로 입력됩니다. 다른 Android 상수 위치와 일치하도록HEART_RATE_ACCURACY_X
상수가PlatformHealthSources
의 루트로 이동했습니다. 이제HEART_RATE_ACCURACY_X
int 상수가 값 상수 대신DynamicHeartRateAccuracy.constant()
및DynamicHeartRateAccuracy.dynamicDataValueOf()
에서 직접 사용됩니다. 추가했습니다. (I82ff5) PlatformHealthSources.Constants
클래스를 실수로 인스턴스화할 수 있었습니다. 이 문제는 현재 해결되었습니다. 추가했습니다. (Icb849)- 이제
PlatformTimeUpdateNotifier#setReceiver
는Supplier
함수 및Executor
대신Runnable
를 수신하여 알림을 받습니다. 추가했습니다. (I9d938) PlatformTimeUpdateNotifier#setReceiver
의 매개변수 유형을Callable
에서Supplier
로 변경했습니다. 추가했습니다. (I664bf)- 이제
CompactChip
및TitleChip
에서 아이콘을 추가할 수 있습니다. 추가했습니다. (I5a01e)
버그 수정
- 대신 oneof를 사용하도록 동적 필드가 있는 Prop 메시지를 업데이트합니다. (I81739)
- setter가 있는 오버로드에 setter 구현을 재사용합니다. (Ied70c)
- 오버로드가 있는 setter에 지문을 올바르게 기록합니다. (I86ed2)
버전 1.0.0-alpha11
2023년 6월 7일
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11
가 출시되었습니다. 버전 1.0.0-alpha11에 포함된 커밋을 확인하세요.
새로운 기능
- 심박수 정확도를 위한
PlatformDataKey
를 추가했습니다. 추가했습니다. (I7f9b8)
API 변경사항
StateBuilders#getIdToValueMapping
의 이름을getKeyToValueMapping
로 바꾸고 반환 유형을Map<<AppDataKey<?>,DynamicDataValue>
로 변경합니다. 추가했습니다. (Iaa7ae)StateStore
를 최종 클래스로 만듭니다. (I408ca)TimeGateway
인터페이스가protolayout-expression-pipeline
라이브러리에서 원하는 시간 데이터 업데이트 빈도를 제공하는PlatformTimeUpdateNotifier
로 대체되었습니다. 추가했습니다. (I60869)PlatformDataProvider
의register
/unregisterForData
이름을set
/clearReceiver
로 바꿨습니다. (I14b02)- Material Text에서
getExcludeFontPadding
의 이름을hasExcludeFontPadding
로 바꾸었습니다. 추가했습니다. (Iea01d) - 라벨을 완벽하게 정렬하기 위한 setter가 모든 칩 구성요소에 추가되었습니다. 이제 모든 칩에 탭할 수 있는 최소 타겟이 적용되었습니다. 추가했습니다. (I8ae92)
LayoutDefaults#BUTTON_MAX_NUMBER
에서MAX_BUTTONS
로 이름을 바꿨습니다. 추가했습니다. (I84788)DAILY_DISTANCE
의 이름이DAILY_DISTANCE_M
로 변경되었습니다. 추가했습니다. (I4f758)
버그 수정
- 정적 값이 적용되는 이유를 명확히 하기 위해 Prop 유형 문서를 업데이트했습니다. 정적 값이 제공되지 않은 경우 사용할 기본값을 지정하세요. 추가했습니다. (I155aa)
PlatformDataKey
네임스페이스는 자바 스타일 이름 지정을 따라야 합니다. 추가했습니다. (I47bda)
버전 1.0.0-alpha10
2023년 5월 24일
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
가 출시되었습니다. 버전 1.0.0-alpha10에 포함된 커밋을 확인하세요.
새로운 기능
- 앱 푸시 상태에 액세스하기 위한
AppDataKey
추가, 플랫폼 데이터 액세스를 위한PlatformDataKey
추가,StateStore
에 네임스페이스 지원 추가 추가했습니다. (I7985e) DynamicBool
의Equal
및NotEqual
작업을 지원합니다. 추가했습니다. (I6a0c1)
API 변경사항
- 이제
FontStyles
클래스가 최종입니다. (Iaa2ea) LayoutElementBuilders#FontStyles
가 지원 중단되었습니다.androidx.wear.protolayout.Typography
을(를) 사용하거나 나만의FontStyle
을 만드세요. 추가했습니다. (Ic929b)- 중첩된
Action#Builder
인터페이스를Action
인터페이스에서 숨깁니다. Builder의 구현은 이미LoadAction
및LaunchAction
클래스에서 제공됩니다. 추가했습니다. (I1d70c) FloatProp
에서DynamicFloat
사용을 허용합니다.FloatProp
는 레이아웃 변경 속성으로 사용되지 않으므로 레이아웃 제약 조건이 필요하지 않습니다. (I286ac)LoalAction
및SetStateAction
작업은 아직 실제로 지원되지 않으므로 삭제되었습니다. 추가했습니다. (I5d6a6)- 인라인 이미지 리소스의 ARGB_8888 형식 지원이 추가되었습니다. 추가했습니다. (I8a07c)
StateEntryValue
의 이름을DynamicDataValue
로 바꾸고DynamicDataKey
를 사용하도록 상태 API를 업데이트합니다. (If1c01)StateStore
의 각 인스턴스에서 메모리 사용량과 상태 업데이트 시간이 잘 포함되고 제어되도록StateStore
에서 허용되는 항목 수를 제한하고 있습니다. 따라서 개발자는 지도에 항목이MAX_STATE_ENTRY_COUNT
개를 넘지 않도록 해야 합니다. 그러지 않으면StateStore
를 만들거나 업데이트할 때IllegalStateException
이 발생합니다. 추가합니다. (Ibadb3)OnLoadTrigger
및OnConditionMetTrigger
클래스를 숨기고OnConditionMetTrigger
의setTrigger
를setCondition
로 바꿉니다. 추가했습니다. (Ibf629)- 성능 및 호환성을 위해
ProtoLayout
렌더기는AnimatedVectorDrawable
리소스의 일부 기능을 지원하지 않습니다. 지원되는 집합을 정의할 수 있을 때까지 이러한 API를 실험용으로 표시합니다. 추가했습니다. (Ic6daf) - 일일 거리, 일일 칼로리, 일일 층수에 대한 동적 유형을 추가했습니다. 이제 플랫폼 상태 소스의 키가
PlatformHealthSources.Keys
아래에 있습니다. (Ib7637) Easing.cubicBezier
메서드는CubicBezierEasing.Builder
를 대체합니다. 이를 통해EasingFunction
클래스가 삭제되고 이제 이 클래스의 이징 상수에Easing
인터페이스에서 직접 액세스할 수 있습니다. 또한setInfiniteRepeatable
가INFINITE_REPEATABLE_WITH_RESTART
및INFINITE_REPEATABLE_WITH_REVERSE
로 대체되었습니다. (Ib41e7)PlatformDataProvider
를 구현하여 심박수와 일일 걸음 수를 제공합니다.SensorGateway
인터페이스가 공개 API에서 삭제되었습니다. 추가했습니다. (I55b84)PlatformDataProvider
를 추가하고, 표현식 파이프라인의 노드에 제공자의 지원 키가 필요한 경우PlatformDataProvider
에 등록하도록StateStore
를 업데이트합니다. 추가했습니다. (Ib616a)SensorGateway
는 더 이상 상태를 유지하지 않으므로 더 이상Closeable
가 아닙니다. 추가했습니다. (I6b4f7)CircularProgressIndicator
에서DynamicFloat
와 함께FloatProp
를 사용하도록 허용합니다. 버전 1.2를 지원하는 렌더기에서 지원됩니다. 이전 렌더기는 제공된 경우staticValue
로, 제공되지 않으면 0으로 대체됩니다. (I0d91b)MultiButtonLayout
상수가LayoutDefaults.MultiButtonLayoutDefaults
클래스로 리팩터링되었습니다. 이 클래스에는 레이아웃의 버튼 수에 따른 버튼 크기의 상수가 포함됩니다. 추가했습니다. (I13973)- Material Text에서
DynamicString
와 함께StringProp
사용을 지원합니다. 버전 1.2를 지원하는 렌더기에서 지원됩니다. 이전 렌더기는 제공된 정적 값으로 대체됩니다.Text#getText
반환 유형을String
에서StringProp
로 업데이트합니다. 추가했습니다. (I7275b)
버전 1.0.0-alpha09
2023년 5월 10일
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
가 출시되었습니다. 버전 1.0.0-alpha09에 포함된 커밋을 확인하세요.
새로운 기능
- 실험용 확장 프로그램 레이아웃 요소를 추가했습니다. 기본적으로 사용할 수 없으며 레이아웃 요소를 이해할 수 있는 렌더기 확장 프로그램이 필요합니다. 추가했습니다. (I6581d)
ArcLine
를 위한StrokeCap
지원을 추가했습니다. 추가했습니다. (I94951)- 조건부 인스턴트 작업 지원을 추가했습니다. 추가했습니다. (I489a7)
- 조건부 기간 작업에 대한 지원이 추가되었습니다. 추가했습니다. (Iab469)
- 초부터 지속 시간을 만드는 기능 지원이 추가되었습니다. 추가했습니다. (Ib5fa1)
API 변경사항
enable/disablePlatformSource
메서드가DynamicTypeEvaluator
에서 삭제되었습니다. 업데이트는 호출자가 담당해야 합니다. 추가했습니다. (I78c6d)- 결합된 데이터 유형의 크기 제한을 허용합니다. 추가했습니다. (Ie2966)
protolayout-material
에 동적 콘텐츠 설명 지원을 추가합니다. 추가했습니다. (I62c8e)- AnimationParameters에서 지속 시간과 지연에 long 및
@IntRange
를 사용합니다. 추가했습니다. (I388b6)
버전 1.0.0-alpha08
2023년 4월 19일
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08
가 출시되었습니다. 버전 1.0.0-alpha08에 포함된 커밋을 확인하세요.
새로운 기능
- 연락처(
AndroidTextStyle
)가LayoutElementBuilders
그룹에 추가되었습니다. 추가했습니다. (I8d967) ProtoLayout
Material Text에서 글꼴 패딩을 제외하는 설정을 위한 지원을 추가했습니다. 추가했습니다. (I17f5d)- 이제 인라인 이미지에 ARGB_8888이 지원됩니다. 추가했습니다. (I18c1e)
- 이제
DynamicColor
가onCondition
작업을 지원합니다. 추가했습니다. (I10927)
API 변경사항
- 역방향 애니메이션의 맞춤 기간을 지원합니다. (I3251f)
SemanticDescription
수정자를 추가했습니다. 또한ContentDescription
는 바인딩할 수 없습니다. 추가했습니다. (I3f1d)- 이제
DynamicBool.isFalse()
메서드가DynamicBool.negate()
로 대체되고DynamicBool.isTrue()
가 삭제되었습니다. 또한 NaNDynamicFloat
값과DynamicInt32
의 범위를DynamicFloat
로 좁히면 이제 잘못된 동적 결과가 발생합니다. 추가했습니다. (I6ac1e) - 이제 int 및 float 형식 지정 도구에서 빌더 패턴을 사용합니다. 추가했습니다. (Ieb213)
버그 수정
- 애니메이션 가능한 필드에서 대체 정적 값이 삭제되었습니다. 추가합니다. (Ifcb01)
DynamicTypeValueReceiver#onPreUpdate
를 삭제했습니다. 추가했습니다. (I2dc35)- 이제 동적 표현식의 문자열 길이가 제한됩니다. 추가했습니다. (I4c93)
- 이제 Gradle 종속 항목이 필요할 때
implementation
대신api
로 올바르게 설정됩니다. 추가했습니다. (I40503)
버전 1.0.0-alpha07
2023년 4월 5일
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
가 출시되었습니다. 버전 1.0.0-alpha07에 포함된 커밋을 확인하세요.
새로운 기능
API 변경사항
sensorGateway#registerSensorGatewayConsumer
는 Consumer의 메서드 대신 데이터 유형을 매개변수로 사용합니다. 추가했습니다. (Icf314)ObservableStateStore
에서StateStore
로 이름을 바꿨습니다. 추가했습니다. (Ieb0e2)- 생성자 인수 대신
DynamicTypeEvaluator.Builder
를 추가하여 더 많은 선택적 인수를 허용합니다. 예를 들어 이제 빈 저장소가 기본적으로 설정되는ObservableStateStore
가 포함됩니다. 추가했습니다. (I6f832) DynamicTypeEvaluator
의 매개변수 순서가 리팩터링되었습니다. 추가했습니다. (Ic1ba4)
버그 수정
- 플랫폼 센서 소스에서 다운스트림 노드로 신호를 올바르게 전파합니다. (I5a922)
버전 1.0.0-alpha06
2023년 3월 22일
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06
가 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
새로운 기능
- 동적 표현식에서 심박수와 일일 걸음 수를 사용하기 위한 실험용 API를 추가했습니다. (Ifd711)
- 애니메이션의 역방향 및 정방향 지연 지원을 추가했습니다. 추가했습니다. (Ic25f7)
- 테두리 및 배경에
DynamicColor
지원을 추가했습니다. DimensionBuilder
의 유형에 동적 가치 지원을 추가했습니다.tiles-material
의 레이아웃 및 구성요소가protolayout-material
로 이동됩니다.
API 변경사항
- 연락처(
LoadActionListener
)가ProtoLayoutViewInstance
그룹에 추가되었습니다. 추가합니다. (If7806)
버그 수정
FloatNodesTest
가 추가되었습니다. (Id7281)- 구조화된 비트맵을 로드할 수 없을 때 발생하는 렌더기 비정상 종료 문제를 해결했습니다.
버전 1.0.0-alpha05
2023년 3월 8일
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05
가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
새로운 기능
- 실험용 '콘텐츠 업데이트' 애니메이션을
Modifiers
객체에 추가했습니다. 이 애니메이션은 레이아웃 업데이트 중에 요소 (이 수정자 사용) 또는 하위 요소 중 하나가 변경될 때마다 트리거됩니다. 추가합니다. (bd03e5d)
API 변경사항
forwardRepeatDelayMillis
및reverseRepeatDelayMillis
를Repeatable
에 추가했습니다.AnimationSpec
의delayMillis
도startDelayMillis
로 이름을 바꿨습니다. (Ifb266)- 이제
DynamicTypeEvaluator.bind
메서드가 Executor를 허용합니다. 추가했습니다. (I346ab) - 동적 유형이 바인딩된 후 평가를 트리거하도록
BoundDynamicType
에startEvaluation
메서드를 추가했습니다. 추가했습니다. (I19908)
버그 수정
- Animator 객체는 단일 요소의 후속 애니메이션에 다시 사용됩니다. 추가했습니다. (Ia3be9)
버전 1.0.0-alpha04
2023년 2월 22일
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04
가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
- 이제
ObservableStateStore
는 키가 삭제되면 리스너에 알립니다. DeviceParameters
에 렌더기 스키마 버전과 글꼴 크기를 추가했습니다 (다양한 버전 및 글꼴 설정에 따라 조건부로 레이아웃을 만드는 데 사용할 수 있음).DynamicInt32
값을 애니메이션 처리하기 위한 지원을 추가했습니다. (I05485)OnLoad
및OnConditionalMet
트리거를 추가했습니다. 트리거를 지원하는 애니메이션을 시작하는 데 사용할 수 있습니다.- 펼친 크기의 레이아웃 가중치와 래핑된 크기의 최소 크기를 추가했습니다.
- 기간 및 인스턴트 동적 유형이 추가되었습니다. 동적 표현식에서 순간 또는 기간을 나타내는 데 사용할 수 있습니다.
- 레이아웃 리소스로
AnimatedVectorDrawable
및SeekableAnimatedVectorDrawable
지원을 추가했습니다.
API 변경사항
- 센서 데이터에는 API 29 이상이 필요합니다. (I8099e)
- 활동 실행을 위한
launchAction
도우미 메서드 두 개를 추가했습니다.
버그 수정
- 카드 애니메이션에서
set/getSpec
의 이름을set/getAnimationSpec
로 바꿨습니다. (I3d74b)
버전 1.0.0-alpha03
2023년 2월 8일
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
가 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- protolayout-express 라이브러리의 동적 유형에
toByteArray()
및fromByteArray()
를 추가했습니다. - protolayout-expression 라이브러리의 동적 유형에
toString()
을 추가했습니다. - 동적 유형에 관한 평가 지원을 추가했습니다. protolayout-expression-pipeline 라이브러리의
DynamicTypeEvaluator
클래스는 이전에 만든 동적 유형(DynamicString
,DynamicFloat
등)을 평가하고 업데이트된 값을 수신하는 데 사용할 수 있습니다. - 애니메이션을 재생할 수 없는 경우(평가자에 의해 사용 중지되었거나 실행 중인 애니메이션의 수가 설정 한도에 도달하여) 애니메이션 가능한 노드에 설정된 정적 값이 애니메이션을 대체하도록 사용됩니다.
버전 1.0.0-alpha02
2023년 1월 25일
androidx.wear.protolayout:protolayout:1.0.0-alpha02
, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02
, androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02
이 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
androidx.wear.tiles:tiles
의 레이아웃 빌더가androidx.wear.protolayout:protolayout
으로 이동되었습니다.androidx.wear.tiles:tiles
의 레이아웃 빌더는 다음번 알파 출시 버전 중 하나에서 지원 중단될 예정입니다.
버전 1.0.0-alpha01
2023년 1월 11일
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
및 androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
가 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- 이 출시에서는 동적 변수에서 표현식을 만드는 새로운 라이브러리 'ProtoLayout Expression'을 도입했습니다.