Glance
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2024년 6월 12일 | 1.1.0 | - | - | - |
종속 항목 선언
Glance의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { // For Glance support implementation "androidx.glance:glance:1.1.1" // For AppWidgets support implementation "androidx.glance:glance-appwidget:1.1.1" // For Wear-Tiles support implementation "androidx.glance:glance-wear-tiles:1.0.0-alpha05" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.0-beta03" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { // For Glance support implementation("androidx.glance:glance:1.1.1") // For AppWidgets support implementation("androidx.glance:glance-appwidget:1.1.1") // For Wear-Tiles support implementation("androidx.glance:glance-wear-tiles:1.0.0-alpha05") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.0-beta03" } kotlinOptions { jvmTarget = "1.8" } }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.1
버전 1.1.0
2024년 6월 12일
androidx.glance:glance-*:1.1.0
가 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.
1.0.0 이후 중요 변경사항
- Glance가 1.1.0 안정화 버전으로 이동합니다.
버전 1.1.0-rc01
2024년 5월 14일
androidx.glance:glance-*:1.1.0-rc01
가 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
새로운 기능
- Glance의 미리보기 주석에 너비 및 높이 매개변수를 추가했습니다. 1.1.0을 출시 후보로 이동합니다.
API 변경사항
- Scaffold에 선택적 매개변수를 추가합니다. 추가합니다. (If753f)
- Glance
@Preview
에 너비 및 높이 매개변수를 추가합니다. 추가했습니다. (Ibabe8) - Wear 카드 미리보기 한눈에 보기 지원을 삭제합니다. 추가했습니다. (I3850a)
FontStyle
의 맞춤 가중치 값을 설정하는 API를 추가했습니다. 추가했습니다. (I7390a)- 기본 구현을 더 잘 반영하도록
Viewfinder
의ImplementationMode
enum의 이름을 바꾸고TransformationInfo.sourceRotation
의 고정 상수를 추가합니다. (Ic6149)
버그 수정
- 이전 버전과의 호환성 모드에서
ViewGroups
의 렌더링 문제를 일으키는 버그가 수정되었습니다. (I8de92)
외부 기여
- 실험용
SharedTransitionScope
는 이제 클래스가 아닌 인터페이스입니다. 추가했습니다. (Iaf856, b/338415048, b/338414702)
버전 1.1.0-beta02
2024년 4월 17일
androidx.glance:glance-*:1.1.0-beta02
가 출시되었습니다. 이 버전에는 이전 출시에서 누락된 소스 jar가 포함되어 있습니다.
버전 1.1.0-beta01
2024년 4월 3일
androidx.glance:glance-*:1.1.0-beta01
가 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.
버전 1.1.0-alpha01
2024년 2월 7일
androidx.glance:glance-*:1.1.0-alpha01
가 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- UI Automator가 필요하지 않은 Glance용 단위 테스트 라이브러리 뷰를 확장하지 않고도 Glance 코드를 직접 테스트할 수 있습니다.
- 더 간단한 레이아웃을 위한 상위 수준 구성요소
- 새로운 수정자와 테마 옵션
- 컴포지션에서 RemoteViews 흐름을 가져오기 위한 새 API
runComposition
API 변경사항
- Glance 테마에 새로운
widgetBackground
색상 역할이 추가되었습니다. 추가했습니다. (Ia2ab8) GlanceAppWidget.runComposition
를 추가했습니다. (I6344c, b/298066147)- 새
TopBar
구성요소를 추가했습니다. (Ibd361) clickable
수정자에 재정의를 추가합니다. 추가했습니다. (Iacecf)- 버튼 색조 조정을 위한 새 API를 추가합니다. 1.0이 출시될 때까지 실험용으로 제공됩니다. 추가했습니다. (I92523)
provideComposable
와 같이GlanceAppWidgetUnitTest
에서 메서드를 호출하는 범위를 제공하는runGlanceAppWidgetUnitTest
를 추가하여 테스트를 위해 격리된 작은 컴포저블을 제공하고onNode
는 제공된 콘텐츠에서 Glance 컴포저블 요소를 찾습니다. 이를 통해 appWidget에서 구성 가능한 개별 함수의 단위 테스트를 작성하여 특정 입력에서 함수가 의도한 Glance 구성 가능한 요소 집합을 출력하는지 확인할 수 있습니다. 추가했습니다. (I2f682)- 단위 테스트에 사용할 수 있도록 시맨틱에
testTag
수정자를 추가합니다. 추가했습니다. (I8f62f) - 업데이트
TitleBar
- 텍스트와 아이콘에 개별적으로 색조를 지정할 수 있습니다. 추가했습니다. (Ia0a60) - Scaffold 구성요소를 추가합니다. (I8a736)
hasActionRunCallbackClickAction
필터와assertHasActionRunCallbackClickAction
어설션을 추가하여actionRunCallack
를 테스트합니다. 또한 작업 관련 테스트 필터(hasStartActivityClickAction<activityClass>(..)
,hasStartServiceAction<receiverClass>(..)
,hasSendBroadcastAction<receiverClass>(..)
)의 약식 변형 함수를 추가합니다. 상응하는assertHasXXX
항목에 유사한 변형을 추가합니다. 추가했습니다. (Ieca63)- 출시되지 않은 API를 이동합니다. 수정자를 내부에서 공개로 변경하지만 라이브러리는 제한됨 (If2a08)
- 오류 발생 시 개발자가 코드를 실행할 수 있는
onCompositionError
메서드가 추가되었습니다. (I9b56f) - 한눈에 볼 수 있도록 버튼 및 iconbutton API를 추가했습니다. (I0fd6f)
- 진행률 표시기에 맞게
isLinearProgressIndicator
,isIndeterminateLinearProgressIndicator
,isIndeterminateCircularProgressIndicator
필터를 추가합니다. 추가로 includehasAnyDescendants
필터를 사용하여 노드의 하위 계층 구조에 특정 매처와 일치하는 하위 항목이 있는지 테스트합니다. (Ifd426) - 서비스 / 활동 또는 브로드캐스트를 시작하는 클릭 동작의 테스트를 가능하게 하는 어설션 및 필터를 추가합니다. 입력 요소가 선택되었는지 테스트도 포함됩니다. 추가했습니다. (I3041c)
버전 1.0.0
버전 1.0.0-alpha06
2024년 2월 7일
androidx.glance:glance-appwidget-preview:1.0.0-alpha06
및 androidx.glance:glance-preview:1.0.0-alpha06
가 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
새로운 기능
- 기본 Glance 모듈을 따르도록 버전이 업데이트되었습니다.
버전 1.0.0
2023년 9월 6일
androidx.glance:glance-*:1.0.0
가 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
1.0.0의 주요 기능
- Glance를 안정화 버전 1.0.0으로 이동
버전 1.0.0-rc01
2023년 7월 26일
androidx.glance:glance-*:1.0.0-rc01
가 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
1.0.0 안정화 버전으로 출시되는 과정에서 Glance를 rc01로 이동합니다.
새로운 기능
- 보다 안정적인 작업 호출을 위해 작업 람다에 주요 매개변수를 추가합니다.
ActvityOptions
에 제공하는 기능을startActivity
작업에 추가합니다.- Android 14 지원을 추가합니다.
API 변경사항
- 람다를 허용하는 모든 요소에 선택적 키 매개변수를 추가했습니다. 추가했습니다. (Id96c1, b/282445798)
actionStartActivity
용ActivityOptions
번들 설정 지원을 추가합니다. (I6a08d)- d,e,f,g-paths의 공개 및 실험용 API 파일을 병합했습니다. (I03646, b/278769092)
- 해당 사항 없음, API 파일 변경사항은 메서드를 재정렬하는 것뿐입니다. (I5fa95)
GlanceAppWidgetReceiver
요청의CoroutineContext
를 설정하는 API를 추가했습니다. (I0a100)- 목록의 모든 작업에 사용될
LazyColumn
및LazyVerticalGrid
에ActivityOptions
를 제공하는 새 API를 추가했습니다.(Id8d71)
버그 수정
버전 1.0.0-beta01
2023년 5월 10일
androidx.glance:glance-*:1.0.0-beta01
가 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
- 라이브러리를 베타로 이동합니다.
GlanceTheme
를 사용한 테마 지정 지원. Material 2 및 Material 3 스타일 테마를 Glance에서 지원하는 glance-material 및 glance-material3 모듈을 추가합니다.- 텍스트 API에
FontFamily
지원을 추가했습니다. GlanceAppWidget
를WorkManager
세션 기반 업데이트 메커니즘으로 이동했습니다.AppWidgets
의 Glance 사용자는 이제 이전Content
메서드 대신GlanceAppWidget.provideGlance
를 재정의해야 합니다. 이제 이 작업이 작업자에서 발생하므로 별도의 작업자가 없어도 리소스, 데이터베이스 또는 네트워크 항목을 로드하기에 좋습니다.
API 변경사항
Button
,Checkbox
,RadioButton
,Switch
용*Defaults
API를 추가했습니다. Jetpack Compose의 패턴과 일관되도록 한눈에 보여줍니다. 추가했습니다. (I94828)- 새로운 Glance 템플릿 모듈 (I94459)
ResourceColorProvider
를 모듈 내부로 설정합니다. 브레이킹 체인지 일부 색상이 동적 리소스이고 일부 색상이 완전히 결정되는 상황을 방지하기 위해ResourceColorProvider
는 동적 테마 설정에만 사용해야 하므로 필요합니다. 추가했습니다. (Ib0db7)FontFamily
를TextStyle
의 옵션으로 추가합니다. 추가했습니다. (Ic19ba, b/274179837)Enum.valueOf
의 값 매개변수 이름이 변경되었습니다. (Ia9b89)- enum
valueOf
에서 더 많은 예외가 발생합니다. (I818fe) provideGlance
를 기본 진입점으로 사용하도록GlanceAppWidget
를 업데이트했습니다. 이제GlanceAppWidget.Content
이 지원 중단됩니다. 추가했습니다. (I202b5)- 이미지에 색조 색상을 제공하는 옵션을 추가합니다. (I26192, b/212418562)
- 지원 중단된 숨겨진 함수의 반환 유형 null 허용 여부가 추가되었습니다. 추가했습니다. (Ibf7b0)
@JvmDefaultWithCompatibility
주석을 추가합니다. (I8f206)- 사용하지 않는
SingleEntityTemplateData.displayHeader
를 삭제했습니다. 추가했습니다. (I7f094) - 람다를 콜백으로 사용하기 위한 지원을 추가했습니다. (Ia0bbd)
DayNightColorProvider
를 한눈에 보기 모듈로 이동했습니다. (I1842c, b/256934779)- 템플릿에서
LocalColorProvider
를 삭제합니다. 이제 템플릿에서GlanceTheme.colors
를 사용합니다. (Ic15e2) Text(style: TextStyle)
에서 null 허용 여부를 삭제했습니다. (I7123b, b/237012816)- 기본 텍스트 색상을 검은색으로 지정합니다. null 허용 여부를 삭제했습니다. (I3072c, b/237012816)
- 동적 테마를
ColorProviders
자체 객체로 설정합니다.ResourceColorProvider
를 모듈 내부로 설정합니다. 추가했습니다. (Id0e2d, b/237012816) - 정의되지 않은 카테고리를
ImageSize
에 추가합니다. 추가했습니다. (I2fa39) - 지원 중단된
GlanceAppWidget.Content
함수를 삭제했습니다. (Ib05f6) - 수정자를
AndroidRemoteViews
에 매개변수로 추가합니다. 추가했습니다. (I515d4) - 단위 테스트를 더 쉽게 할 수 있도록
GlanceAppWidget.compose
를 추가했습니다. (Ie9b28)
버그 수정
- Glance 텍스트 글꼴을 위한 데모 위젯을 추가했습니다. (I5c3d7)
- 수정자를 사용하여
AndroidRemoteViews
의 크기를 조절합니다. - 일관되지 않은 테마 색상이 있는 문제가 해결됨
- 충돌 방지를 위해 이제 모든 리소스에 접두사가 붙음
버전 1.0.0-alpha05
2022년 10월 5일
androidx.glance:glance:1.0.0-alpha05
, androidx.glance:glance-appwidget:1.0.0-alpha05
, androidx.glance:glance-wear-tiles:1.0.0-alpha05
이 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
새로운 기능
- 앱이 홈 화면에 Glance 기반 위젯을 추가하기 위해 사용자에게 메시지를 표시할 수 있도록
GlanceAppWidgetManager
에requestPinGlanceAppWidget
을 추가합니다. (Ic6e47) - 개발자가 루팅된 기기와 에뮬레이터의 adb에서 위젯을 강제로 업데이트할 수 있도록
ACTION_DEBUG_UPDATE
를GlanceAppWidgetReceiver
에 추가합니다. (I94ae1)
API 변경사항
- 사용 사례를 간소화하기 위해 Glance 템플릿에서 헤더 작업 버튼을 삭제합니다. (Ie4387)
- Block 하위 시스템 설계를 재사용하도록 Single Entity Template을 리팩터링했습니다. (Iecd2c)
Text/Image/Action
Block 디자인을 사용하도록 Glance List Template을 리팩터링했습니다. (If0cc1)TextBlock
과ImageBlock
에 우선순위 번호 범위를 추가합니다. (I73100)
버그 수정
- Material3 종속 항목을 삭제했습니다. (I28d1c)
- Glance Template 레이아웃에서 여백 및 간격을 추가하기 위해 더 일관된 시스템으로 이동합니다. (I29773)
- 압축된 출시가 빌드되지 않도록 차단하던 잘못된 Proguard 규칙을 수정했습니다.
버전 1.0.0-alpha04
2022년 8월 10일
androidx.glance:glance:1.0.0-alpha04
, androidx.glance:glance-appwidget:1.0.0-alpha04
, androidx.glance:glance-wear-tiles:1.0.0-alpha04
가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
- 버튼 색상 지정 기능을 추가합니다.
- 컴파일 시간을 더 잘 확인하기 위해
GlanceComposable
주석을 추가합니다. - Wear 전용 Glance 기능을 추가합니다.
API 변경사항
- Glance Gallery Data API와 축소 뷰를 업데이트합니다. (Ibc7a8)
- 버튼 구성을 위한
ButtonColors
를 추가합니다. (Iea88d, b/236305351) ColorProvider.resolve
를ColorProvider.getColor
로 이름을 바꿨습니다. (Ic9dfe)TextStyle
에copy()
메서드를 추가합니다. (I9aef6)- Glance 테마의 일부로 사용할 수 있는
ColorProviders
클래스를 추가합니다. (I848b9, b/237012816) - 목록 스타일 및 축소 뷰에 목록 템플릿 지원을 추가합니다. (I50cdc)
GlanceModiier
와GlanceCurvedModifier
에 시맨틱을 추가합니다. (Ifda7e)GlanceComposable
주석을 추가합니다. (I5dbf0)- Glance 템플릿을 기본 Glance 프로젝트로 이동합니다. (I9db94)
ColorProvider.resolve()
를 추가합니다. (Ife532, b/214733442)- 기존
appWidgetId
에서GlanceId
를 가져오거나 구성 활동에서 인텐트를 가져오는 새 메서드를 사용합니다. (Icb70c, b/230391946) GlanceComposable
주석을 추가합니다. (I2c21f)GlanceAppWidget
외부에서 컴포지션을 실행하기 위한GlanceRemoteViews
를 추가했습니다. (I18f92)ProgressIndicatorDefaults
에서 색상을 삭제합니다. (I40299)- API 검토 의견에 따라 공개 API와의 일관성을 위해
ActionCallback
의 onRun 메서드 이름을 onAction으로 바꿨습니다. (Icfa57) - 지도를 사용하도록 Glance 템플릿 레이아웃을 변환합니다. (I46bfd)
RadioButton
컴포저블을 추가합니다. (I4ecce)- Wear 카드 구성을 위한
GlanceWearTiles
를 추가했습니다. (Ia9f65) GlanceCurvedModifier
에 클릭 가능 항목을 추가했습니다. (Iec2a0)CurvedRow
를 범위로 구현하고, DSL을 만들어 일반 컴포저블 또는 곡선 요소를 추가합니다. proto 카드에서ArcLine
및ArcSpacer
로 변환되는curvedLine
및curvedSpacer
도 추가했습니다. (Ib955b)- Tiramisu DP2와 일치하도록 코어 및 appcompat의 null 허용 여부를 업데이트했습니다. (I0cbb7)
- glance-wear-tiles에서
RuncallbackAction
지원을 추가했습니다. 지금은 매개변수가 없는RunCallbackAction
만 지원됩니다. (Ide64a)
외부 기여
- test-coroutines-lib 이전으로 인해 :compose:ui:ui-test api(updateApi)가 업데이트되었습니다. (I3366d)
버전 1.0.0-alpha03
2022년 2월 23일
androidx.glance:glance-*:1.0.0-alpha03
가 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 환경설정 기본값의 상태 정의가 간소화되었습니다.
API 변경사항
PreferencesGlanceStateDefinition
을 기본 상태로 처리하여 상태 처리를 간소화합니다.GlanceAppWidget.updateAppWidgetState
를 삭제하고 기본적으로Preferences
를 사용하는updateAppWidgetState
를 도입했습니다. (I58963)- Glance TemplateText 클래스를 추가하고 템플릿 디자인을 업데이트했습니다. (I4e146)
- 자유형 템플릿의 개요 인프라를 추가했습니다. (If03d6)
SingleEntityTemplate
레이아웃을 업데이트했습니다. (If925d)LazyVerticalGrid
가 추가되었습니다. (I5f442)SingleEntityTemplate
에서ColorProvider
를 사용합니다. (I01ee0)- 템플릿 클래스 이름을 업데이트했습니다. (I3720e)
LinearProgressIndicator
및CircularProgressIndicator
컴포저블이 추가되었습니다. (Ie116b)
버그 수정
- 초기 템플릿 구현으로 '단일 항목 템플릿' 데이터와 예시 템플릿 레이아웃을 정의했습니다. (I35837)
- 기본적으로 타일 콘텐츠가 가운데로 정렬됩니다. (I264be)
- glance-wear-tiles에서 fillMaxSize/Width/Height 버그를 수정했습니다. (I0a39f)
버전 1.0.0-alpha02
2022년 1월 26일
androidx.glance:glance-*:1.0.0-alpha02
가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
이 버전에는 'Glanceable'에 최적화된 컴포저블을 Compose 런타임에 사용하여 Wear 타일을 빌드하기 위한 API 집합이 포함되어 있습니다.
- 구성 가능한 Content() 함수에서 타일을 만드는 서비스인
GlanceTileService
를 확장하여 Wear 타일 서비스를 선언합니다. - Glance 컴포저블의 Wear 타일:
CurvedRow
,CurvedText
TimelineMode.SingleEntry
및TimelineMode.TimeBoundEntries
를 정의하여 타일의 다양한 타임라인 모드를 처리합니다.LocalTimeInterval
은 특정한 시간 간격을 나타내는 로컬 컴포지션입니다.BorderModifer
는 요소 주위에 테두리를 적용하는GlanceModifier
입니다.
또한 이 버전에서는 AppWidget Glance에 진행률 표시기가 추가됩니다.
API 변경사항
LinearProgressIndicator
및CircularProgressIndicator
컴포저블이 추가되었습니다. (Ie116b)actionStartBroadcastReceiver
를actionSendBroadcast
로 변경합니다. (I7d555)GlanceAppWidget
onDelete 콜백에 컨텍스트를 전달합니다. (I4c795)
버그 수정
- OPTIONS_APPATTRIBUTE_SIZES가 존재하지만 비어 있을 때의 처리 방법을 수정했습니다. (I01f82)
버전 1.0.0-alpha01
2021년 12월 15일
androidx.glance:glance:1.0.0-alpha01
, androidx.glance:glance-appwidget:1.0.0-alpha01
및 androidx.glance:glance-appwidget-proto:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
최초 출시의 기능
- Glance의 첫 출시 버전에는 Compose Runtime을 사용하여 'Glanceable'에 최적화된 일련의 새로운 컴포저블을 포함하는 AppWidget을 빌드하기 위한 첫 번째 API 모음이 포함되어 있습니다.
기능
- GlanceAppWidget 및 GlanceAppWidgetReceiver로 앱 위젯을 선언합니다.
- 초기 Glance 컴포저블 세트인 Box, Row, Column, Text, Button, LazyColumn, Image, Spacer로 UI를 구성합니다.
- GlanceModifier 메서드를 사용하여 컴포저블에 수정자를 적용합니다.
- 사전 정의된 작업으로 사용자 상호작용을 처리합니다.
- ActionParameters를 통해 Action에 매개변수를 제공합니다.
- SizeMode.Single, SizeMode.Exact 또는 SizeMode.Responsive를 정의하여 다양한 크기 모드를 처리합니다.
- GlanceStateDefinition을 제공하여 GlanceAppWidget 상태를 유지합니다.
- 로컬 컴포지션은 LocalContext, LocalState, LocalGlanceId, LocalSize와 같습니다.
- AndroidRemoteViews 컴포저블을 사용하여 기존 RemoteViews와 상호 운용합니다.