wear protolayout
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2024년 8월 7일 | 1.2.0 | - | - | - |
종속 항목 선언
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" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.2
버전 1.2.0
2024년 8월 7일
androidx.wear.protolayout:protolayout-*:1.2.0
이 출시되었습니다. 버전 1.2.0에 포함된 내용. 이 커밋을 실행합니다.
1.1.0 이후 중요 변경사항
- 가변 축에 대한 추가 글꼴 지원과 향후 Flex 글꼴을 지원하는 더 나은 글꼴 선택 API를 포함하도록
FontStyle
가 업데이트되었습니다. - 추가 수정자 지원:
<ph type="x-smartling-placeholder">
- </ph>
- 애니메이션 유무에 관계없이 변환, 회전, 크기 조정을 제공하는 변환 수정자입니다.
- 각 모서리 반경에 다른 값 (가로 및 세로)을 지정합니다.
- 클릭 가능 수정자를 사용하는 요소의 탭 가능 영역을
48dp
x48dp
이상으로 확장하여 모든 터치 영역의 접근성을 개선했습니다. - 다양한 화면 크기에서 이러한 레이아웃의 반응형 동작을 더 효과적으로 지원하고 카드 일관성을 개선하기 위해
setResponsiveContentInsetEnabled
를 추가하여PrimaryLayout
및EdgeContentLayout
를 개선했습니다. - Android 14의 비선형 글꼴 크기 조정에 맞게 Material Text의 배율을 개선했습니다.
- 모든 원호 요소의 RTL 레이아웃 방향 지원이 개선되었습니다.
추가 변경사항
- 버전 1.1.0에 도입된 모든 변경사항을 보려면 beta01 출시 노트를 참조하세요.
버전 1.2.0-rc01
2024년 7월 24일
androidx.wear.protolayout:protolayout-*:1.2.0-rc01
이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- 기본 또는 보조 라벨이 전달되지 않은 경우에만 아이콘으로 사용할 수 있도록 표준 머티리얼 칩을 수정했습니다. 추가했습니다. (Iceef9)
- 레이아웃을 더 쉽게 이해할 수 있도록 관련 페이지의 시각 자료를 포함하도록 Material 레이아웃 문서를 업데이트했습니다. 추가했습니다. (I0256a)
버전 1.2.0-beta01
2024년 7월 10일
androidx.wear.protolayout:protolayout-*:1.2.0-beta01
이 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
Wear ProtoLayout의 1.2.0-beta01 버전은 이 라이브러리 출시의 기능이 완전하고 API가 잠겨 있음을 나타냅니다 (시험용으로 표시된 경우는 제외). Wear ProtoLayout 1.2에는 다음과 같은 새로운 기능 및 API가 포함되어 있습니다.
- 다음과 같이 추가 글꼴을 지원하도록
FontStyle
가 업데이트되었습니다. <ph type="x-smartling-placeholder">- </ph>
- 다른 글꼴 변형 설정(예:
FontSetting.weight
,FontSetting.width
)을 설정합니다. - 모든 숫자 문자에 동일한 너비 설정 - 표 형식 숫자 (
FontSetting.tnum
글꼴 기능 설정) - 사용할 기본 글꼴 모음 이름을 지정하여 예정된 플렉스 글꼴을 지원하도록 글꼴 선택 API를 개선했습니다.
- 다른 글꼴 변형 설정(예:
- 비대칭 모서리가 있는 건물 요소를 허용하도록 별도의 가로 및 세로 값으로 각
CornerRadius
를 지정할 수 있도록Corner
수정자를 확장했습니다. LayoutElement
의 변환, 회전, 크기 조정을 제공하는 새로운Transformation
수정자를 추가했습니다. 동적 값을 사용하여 이러한 변환을 애니메이션으로 표시할 수 있습니다.- 다양한 레이아웃 방향 (예: LTR, RTL)을 더 효과적으로 지원하기 위해 모든 원호 요소 (
Arc
,ArcLine
,ArcText
)에Clockwise
,CounterClockwise
,Normal
옵션이 있는setArcDirection
를 추가했습니다. Clickable
수정자를 사용하는 요소의 탭 가능 영역을48dp
x48dp
이상으로 확장하여 모든 터치 영역의 접근성을 개선했습니다.- 다양한 화면 크기에서 이러한 레이아웃의 반응형 동작을 더 효과적으로 지원하고 카드 일관성을 개선하기 위해
setResponsiveContentInsetEnabled
를 추가하여PrimaryLayout
및EdgeContentLayout
를 개선했습니다. 빠른 수정을 통해 이러한 API 사용을 제안하는 린터 경고를 추가했습니다. - Android 14의 비선형 글꼴 크기 조정에서 Material
Text
의 크기 조정/비크기를 개선했습니다.
API 변경사항
- 기본 글꼴 모음 이름 (
DEFAULT_SYSTEM_FONT
)이preferredFontFamilies
API를 사용하지 않음을 의미하므로 삭제됩니다. 추가했습니다. (I39dab) FontSetting.width
에 전달되는 매개변수는 양수여야 합니다. 추가했습니다. (I1266f)
버전 1.2.0-alpha05
2024년 6월 26일
androidx.wear.protolayout:protolayout-*:1.2.0-alpha05
이 출시되었습니다. 버전 1.2.0-alpha05에 포함된 커밋을 확인하세요.
새로운 기능
Material.CompactChip
에hasText
메서드를 추가하여 텍스트 콘텐츠가 설정되었는지 확인합니다. 추가했습니다. (I6e8fc)
API 변경사항
FontFamily
const가 Builder 클래스가 아닌FontStyle
에 있도록 이동합니다. (I06ced)- 범위 주석을 포함하도록
FontSetting.weight
및FontSetting.width
API를 업데이트하고 가중치의 매개변수를 int로 변경합니다. 추가했습니다. (Ia726c)
버그 수정
- Material 라이브러리의 확장 불가능한 텍스트가 이제 Android 14의 비선형 글꼴 크기 조정에서 올바르게 작동합니다. 추가했습니다. (I6601e)
버전 1.2.0-alpha04
2024년 5월 29일
androidx.wear.protolayout:protolayout-*:1.2.0-alpha04
이 출시되었습니다. 버전 1.2.0-alpha04에 포함된 커밋을 확인하세요.
API 변경사항
- 2개의 값으로 각 모서리의 반경을 별도로 지정할 수 있도록 비대칭 모서리 API를 추가했습니다. 추가했습니다. (Icbd69)
FontSetting
API가 다음을 포함하도록 확장되었습니다. <ph type="x-smartling-placeholder">- 사용해야 하는 글꼴 모음의 순서 목록을 지정할 수 있도록 글꼴 모음 API를
FontStyle
에 추가했습니다. 추가했습니다. (Iba9f5) - 머티리얼
LayoutDefaults
에서 콘텐츠와 보조 라벨 사이의 공간 높이 상수의 이름을PrimaryLayout
와EdgeContentLayout
에 모두 적용할 수 있으므로 처음에 'Edge 콘텐츠' 접두사가 붙은 더 일반적이 되도록 이름을 바꿨습니다. 추가했습니다. (I4dc32)
버그 수정
- 가변 글꼴 축의 이름을
axisName
에서axisTag
로 바꿨습니다. 추가했습니다. (I02ba3)
버전 1.2.0-alpha03
2024년 5월 14일
androidx.wear.protolayout:protolayout-*:1.2.0-alpha03
이 출시되었습니다. 버전 1.2.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
FontStyle
의 사용자 지정 가중치 값을 설정하는 API를 추가했습니다. 추가했습니다. (I7390a)
버그 수정
- 빈 대상 맵으로 인한
getTouchDelegateInfo
의 실패 문제를 수정합니다. 추가했습니다. (I2accf)
버전 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)setResponsiveContentInsetEnabled
없이PrimaryLayout
가 사용될 때 경고를 보고하고 빠른 수정을 제공하는 린트 규칙을 추가했습니다. 추가했습니다. (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) EdgeContentLayout
를 새로운setResponsiveContentInsetEnabled
setter로 업데이트하여 UX 가이드라인에 맞게 더 잘 정렬하고 카드의 일관성을 유지하고 지도의 고정된 위치에 기본 라벨을 배치하고 라벨의 반응형 인셋을 추가합니다. 추가했습니다. (I60175)- 콘텐츠가 화면 가장자리를 벗어나지 않도록 이 레이아웃의 기본 라벨, 보조 라벨, 하단 칩에 반응형 인셋을 추가하는
PrimaryLayout.setResponsiveContentInsetEnabled
를 추가했습니다. 추가했습니다. (I0c457) - 더 작은 구성요소로 사용할 수 있도록
CircularProgressIndicator
에서 바깥쪽 여백을 삭제하는 메서드를 추가합니다. 추가했습니다. (I55c06)
API 변경사항
- 이제 카드 렌더기가 모든 텍스트 요소의 글꼴 패딩을 포함하는 옵션 없이 기본적으로 글꼴 패딩을 제외합니다. 추가했습니다. (I3e300)
버그 수정
- 텍스트에서 생략 부호, 문자 간격, 가운데 맞춤이 모두 사용될 때 발생하는 텍스트 정렬 문제가 해결되었습니다. 추가했습니다. (I716c7)
- Skia Arc 그리기 문제의 해결 방법을 추가합니다. 추가했습니다. (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) - Skia Arc 그리기 문제의 해결 방법을 추가합니다. 추가했습니다. (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 이니셔티브에 따라 이제 모든 텍스트 요소에서 글꼴 패딩을 기본적으로 사용 중지했습니다. 또한
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)- 최대 줄에 도달하지 않은 경우에도 (텍스트를 위한 공간이 충분하지 않은 경우) 고정된 상위 컨테이너의 Text를 생략하기 위해
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
에 Sweep Gradient를 위한 렌더기 지원을 추가합니다. 추가했습니다. (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
의 레이아웃이 중첩될 수 있는 최대 깊이를 30개의 중첩된LayoutElements
로 제한했습니다. 추가했습니다. (I8a74b)
버그 수정
SpanText
에DynamicColor
가 설정된 경우 발생하는 검사를 추가했습니다. 추가합니다. (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
은 이제 안전하지 않은 제네릭이 아닌DynamicDataKey
DynamicDataValue
의 유형 안전 매핑을 허용합니다. 즉, 이제DynamicDataValue
가DynamicType
로 입력됩니다.HEART_RATE_ACCURACY_X
상수가 다른 Android 상수 위치와 일치하도록PlatformHealthSources
의 루트로 이동했습니다. 이제HEART_RATE_ACCURACY_X
int 상수가 값 상수 대신DynamicHeartRateAccuracy.constant()
및DynamicHeartRateAccuracy.dynamicDataValueOf()
에서 직접 사용됩니다. 추가했습니다. (I82ff5)PlatformHealthSources.Constants
클래스를 실수로 인스턴스화할 수 있었습니다. 이 문제는 이제 해결되었습니다. 추가했습니다. (Icb849)- 이제
PlatformTimeUpdateNotifier#setReceiver
가Supplier
함수 대신Runnable
및 알림을 받을Executor
를 수신합니다. 추가했습니다. (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)- 시간 데이터 업데이트에 원하는 빈도를 제공하는
protolayout-expression-pipeline
라이브러리의TimeGateway
인터페이스가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
는 소비자에서 메서드 대신 데이터 유형을 매개변수로 사용합니다. 추가했습니다. (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'을 도입했습니다.