wear protolayout

  
이 라이브러리를 사용하면 원격 노출 영역에서 렌더링/평가할 일련의 UI 레이아웃 및 비 UI 표현식을 정의할 수 있습니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2024년 3월 6일 1.1.0 - - 1.2.0-alpha01

종속 항목 선언

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-alpha01"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.0-alpha01"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.0-alpha01"
}

Kotlin

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha01")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha01")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha01")
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.2

버전 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가 포함되어 있습니다.

  • 이제 ArcLineSweepGradientBrush를 추가하고 기존 StrokeCapShadow를 추가하여 360도보다 큰 길이를 더 잘 나타낼 수 있도록 캡에 그림자를 추가하여 그라데이션을 지원합니다.
  • DynamicInstant는 시간대 분할 날짜-시간 형식을 지원합니다. DynamicInstantDynamicDuration는 상태 또는 플랫폼 데이터 유형으로 사용할 수 있습니다.
  • 여러 크기를 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이 지원 중단됩니다. 매우 유사한 동작의 새 API TEXT_OVERFLOW_ELLIPSIZE을(를) 사용하세요. 추가했습니다. (I822d8)
  • 다른 Material 구성요소 및 Compose 이니셔티브에 따라 이제 모든 Text 요소에서 글꼴 패딩이 기본적으로 사용 중지되었습니다. 또한 AndroidTextStyle 및 관련 setter가 공개 API에서 삭제되었습니다. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3)
  • Modifier.hiddenModifier.visible로 대체되었습니다. (I56902)
  • 이제 FontStyle#setSizesSpProp 인수 대신 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)
  • DynamicInstantDynamicDuration는 상태 또는 플랫폼 데이터 유형으로 사용할 수 있습니다. 추가했습니다. (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 요소에서 setLayoutConstraintForDynamicAnchorAnglegetLayoutConstraintForDynamicAnchorAngle 메서드를 삭제했습니다. 이러한 메서드는 실수로 추가되었으며 제공된 레이아웃에는 영향을 미치지 않습니다. 추가합니다. (If7d01)
  • ProtoLayout의 레이아웃이 중첩 LayoutElements을 30개로 제한했습니다. 추가했습니다. (I8a74b)

버그 수정

  • DynamicColorSpanText에 설정된 경우 발생하는 검사를 추가했습니다. 추가합니다. (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의 유형 안전 매핑을 허용합니다. 즉, 이제 DynamicDataValueDynamicType로 입력됩니다. 다른 Android 상수 위치와 일치하도록 HEART_RATE_ACCURACY_X 상수가 PlatformHealthSources의 루트로 이동했습니다. 이제 HEART_RATE_ACCURACY_X int 상수가 값 상수 대신 DynamicHeartRateAccuracy.constant()DynamicHeartRateAccuracy.dynamicDataValueOf()에서 직접 사용됩니다. 추가했습니다. (I82ff5)
  • PlatformHealthSources.Constants 클래스를 실수로 인스턴스화할 수 있었습니다. 이 문제는 현재 해결되었습니다. 추가했습니다. (Icb849)
  • 이제 PlatformTimeUpdateNotifier#setReceiverSupplier 함수 및 Executor 대신 Runnable를 수신하여 알림을 받습니다. 추가했습니다. (I9d938)
  • PlatformTimeUpdateNotifier#setReceiver의 매개변수 유형을 Callable에서 Supplier로 변경했습니다. 추가했습니다. (I664bf)
  • 이제 CompactChipTitleChip에서 아이콘을 추가할 수 있습니다. 추가했습니다. (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)
  • PlatformDataProviderregister/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)
  • DynamicBoolEqualNotEqual 작업을 지원합니다. 추가했습니다. (I6a0c1)

API 변경사항

  • 이제 FontStyles 클래스가 최종입니다. (Iaa2ea)
  • LayoutElementBuilders#FontStyles가 지원 중단되었습니다. androidx.wear.protolayout.Typography을(를) 사용하거나 나만의 FontStyle을 만드세요. 추가했습니다. (Ic929b)
  • 중첩된 Action#Builder 인터페이스를 Action 인터페이스에서 숨깁니다. Builder의 구현은 이미 LoadActionLaunchAction 클래스에서 제공됩니다. 추가했습니다. (I1d70c)
  • FloatProp에서 DynamicFloat 사용을 허용합니다. FloatProp는 레이아웃 변경 속성으로 사용되지 않으므로 레이아웃 제약 조건이 필요하지 않습니다. (I286ac)
  • LoalActionSetStateAction 작업은 아직 실제로 지원되지 않으므로 삭제되었습니다. 추가했습니다. (I5d6a6)
  • 인라인 이미지 리소스의 ARGB_8888 형식 지원이 추가되었습니다. 추가했습니다. (I8a07c)
  • StateEntryValue의 이름을 DynamicDataValue로 바꾸고 DynamicDataKey를 사용하도록 상태 API를 업데이트합니다. (If1c01)
  • StateStore의 각 인스턴스에서 메모리 사용량과 상태 업데이트 시간이 잘 포함되고 제어되도록 StateStore에서 허용되는 항목 수를 제한하고 있습니다. 따라서 개발자는 지도에 항목이 MAX_STATE_ENTRY_COUNT개를 넘지 않도록 해야 합니다. 그러지 않으면 StateStore를 만들거나 업데이트할 때 IllegalStateException이 발생합니다. 추가합니다. (Ibadb3)
  • OnLoadTriggerOnConditionMetTrigger 클래스를 숨기고 OnConditionMetTriggersetTriggersetCondition로 바꿉니다. 추가했습니다. (Ibf629)
  • 성능 및 호환성을 위해 ProtoLayout 렌더기는 AnimatedVectorDrawable 리소스의 일부 기능을 지원하지 않습니다. 지원되는 집합을 정의할 수 있을 때까지 이러한 API를 실험용으로 표시합니다. 추가했습니다. (Ic6daf)
  • 일일 거리, 일일 칼로리, 일일 층수에 대한 동적 유형을 추가했습니다. 이제 플랫폼 상태 소스의 키가 PlatformHealthSources.Keys 아래에 있습니다. (Ib7637)
  • Easing.cubicBezier 메서드는 CubicBezierEasing.Builder를 대체합니다. 이를 통해 EasingFunction 클래스가 삭제되고 이제 이 클래스의 이징 상수에 Easing 인터페이스에서 직접 액세스할 수 있습니다. 또한 setInfiniteRepeatableINFINITE_REPEATABLE_WITH_RESTARTINFINITE_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)
  • 이제 DynamicColoronCondition 작업을 지원합니다. 추가했습니다. (I10927)

API 변경사항

  • 역방향 애니메이션의 맞춤 기간을 지원합니다. (I3251f)
  • SemanticDescription 수정자를 추가했습니다. 또한 ContentDescription는 바인딩할 수 없습니다. 추가했습니다. (I3f1d)
  • 이제 DynamicBool.isFalse() 메서드가 DynamicBool.negate()로 대체되고 DynamicBool.isTrue()가 삭제되었습니다. 또한 NaN DynamicFloat 값과 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에 포함된 커밋을 확인하세요.

새로운 기능

  • StringProp에 동적 가치 지원을 추가합니다. (I04342)
  • 결합 가능한 레이아웃 요소를 표시합니다. (Ia110b)

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 변경사항

  • forwardRepeatDelayMillisreverseRepeatDelayMillisRepeatable에 추가했습니다. AnimationSpecdelayMillisstartDelayMillis로 이름을 바꿨습니다. (Ifb266)
  • 이제 DynamicTypeEvaluator.bind 메서드가 Executor를 허용합니다. 추가했습니다. (I346ab)
  • 동적 유형이 바인딩된 후 평가를 트리거하도록 BoundDynamicTypestartEvaluation 메서드를 추가했습니다. 추가했습니다. (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)
  • OnLoadOnConditionalMet 트리거를 추가했습니다. 트리거를 지원하는 애니메이션을 시작하는 데 사용할 수 있습니다.
  • 펼친 크기의 레이아웃 가중치와 래핑된 크기의 최소 크기를 추가했습니다.
  • 기간 및 인스턴트 동적 유형이 추가되었습니다. 동적 표현식에서 순간 또는 기간을 나타내는 데 사용할 수 있습니다.
  • 레이아웃 리소스로 AnimatedVectorDrawableSeekableAnimatedVectorDrawable 지원을 추가했습니다.

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-alpha01androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01가 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 이 출시에서는 동적 변수에서 표현식을 만드는 새로운 라이브러리 'ProtoLayout Expression'을 도입했습니다.