Glance

Jetpack Compose 스타일의 API를 사용하여 원격 표면의 레이아웃을 빌드합니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2024년 2월 7일 - - - 1.0.0-alpha05

종속 항목 선언

Glance의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    // For Glance support
    implementation "androidx.glance:glance:1.1.0-alpha01"
    // For AppWidgets support
    implementation "androidx.glance:glance-appwidget:1.1.0-alpha01"

    // 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.0-alpha01")
    
    // For AppWidgets support
    implementation("androidx.glance:glance-appwidget:1.1.0-alpha01")

    // 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-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 필터를 추가합니다. 추가로 include hasAnyDescendants 필터를 사용하여 노드의 하위 계층 구조에 특정 매처와 일치하는 하위 항목이 있는지 테스트합니다. (Ifd426)
  • 서비스 / 활동 또는 브로드캐스트를 시작하는 클릭 동작의 테스트를 가능하게 하는 어설션 및 필터를 추가합니다. 입력 요소가 선택되었는지 테스트도 포함됩니다. 추가했습니다. (I3041c)

버전 1.0.0

버전 1.0.0-alpha06

2024년 2월 7일

androidx.glance:glance-appwidget-preview:1.0.0-alpha06androidx.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)
  • actionStartActivityActivityOptions 번들 설정 지원을 추가합니다. (I6a08d)
  • d,e,f,g-paths의 공개 및 실험용 API 파일을 병합했습니다. (I03646, b/278769092)
  • 해당 사항 없음, API 파일 변경사항은 메서드를 재정렬하는 것뿐입니다. (I5fa95)
  • GlanceAppWidgetReceiver 요청의 CoroutineContext를 설정하는 API를 추가했습니다. (I0a100)
  • 목록의 모든 작업에 사용될 LazyColumnLazyVerticalGridActivityOptions를 제공하는 새 API를 추가했습니다.(Id8d71)

버그 수정

  • 해당 사항 없음, API 파일 변경사항은 메서드를 재정렬하는 것뿐입니다. (I5fa95)
  • Glance 텍스트 구성요소 스타일 데모 (Ie78a4)

버전 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 지원을 추가했습니다.
  • GlanceAppWidgetWorkManager 세션 기반 업데이트 메커니즘으로 이동했습니다. AppWidgets의 Glance 사용자는 이제 이전 Content 메서드 대신 GlanceAppWidget.provideGlance를 재정의해야 합니다. 이제 이 작업이 작업자에서 발생하므로 별도의 작업자가 없어도 리소스, 데이터베이스 또는 네트워크 항목을 로드하기에 좋습니다.

API 변경사항

  • Button, Checkbox, RadioButton, Switch*Defaults API를 추가했습니다. Jetpack Compose의 패턴과 일관되도록 한눈에 보여줍니다. 추가했습니다. (I94828)
  • 새로운 Glance 템플릿 모듈 (I94459)
  • ResourceColorProvider를 모듈 내부로 설정합니다. 브레이킹 체인지 일부 색상이 동적 리소스이고 일부 색상이 완전히 결정되는 상황을 방지하기 위해 ResourceColorProvider는 동적 테마 설정에만 사용해야 하므로 필요합니다. 추가했습니다. (Ib0db7)
  • FontFamilyTextStyle의 옵션으로 추가합니다. 추가했습니다. (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 기반 위젯을 추가하기 위해 사용자에게 메시지를 표시할 수 있도록 GlanceAppWidgetManagerrequestPinGlanceAppWidget을 추가합니다. (Ic6e47)
  • 개발자가 루팅된 기기와 에뮬레이터의 adb에서 위젯을 강제로 업데이트할 수 있도록 ACTION_DEBUG_UPDATEGlanceAppWidgetReceiver에 추가합니다. (I94ae1)

API 변경사항

  • 사용 사례를 간소화하기 위해 Glance 템플릿에서 헤더 작업 버튼을 삭제합니다. (Ie4387)
  • Block 하위 시스템 설계를 재사용하도록 Single Entity Template을 리팩터링했습니다. (Iecd2c)
  • Text/Image/Action Block 디자인을 사용하도록 Glance List Template을 리팩터링했습니다. (If0cc1)
  • TextBlockImageBlock에 우선순위 번호 범위를 추가합니다. (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.resolveColorProvider.getColor로 이름을 바꿨습니다. (Ic9dfe)
  • TextStylecopy() 메서드를 추가합니다. (I9aef6)
  • Glance 테마의 일부로 사용할 수 있는 ColorProviders 클래스를 추가합니다. (I848b9, b/237012816)
  • 목록 스타일 및 축소 뷰에 목록 템플릿 지원을 추가합니다. (I50cdc)
  • GlanceModiierGlanceCurvedModifier에 시맨틱을 추가합니다. (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 카드에서 ArcLineArcSpacer로 변환되는 curvedLinecurvedSpacer도 추가했습니다. (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)
  • LinearProgressIndicatorCircularProgressIndicator 컴포저블이 추가되었습니다. (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.SingleEntryTimelineMode.TimeBoundEntries를 정의하여 타일의 다양한 타임라인 모드를 처리합니다.
  • LocalTimeInterval은 특정한 시간 간격을 나타내는 로컬 컴포지션입니다.
  • BorderModifer는 요소 주위에 테두리를 적용하는 GlanceModifier입니다.

또한 이 버전에서는 AppWidget Glance에 진행률 표시기가 추가됩니다.

API 변경사항

  • LinearProgressIndicatorCircularProgressIndicator 컴포저블이 추가되었습니다. (Ie116b)
  • actionStartBroadcastReceiveractionSendBroadcast로 변경합니다. (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-alpha01androidx.glance:glance-appwidget-proto:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.

최초 출시의 기능

  • Glance의 첫 출시 버전에는 Compose Runtime을 사용하여 'Glanceable'에 최적화된 일련의 새로운 컴포저블을 포함하는 AppWidget을 빌드하기 위한 첫 번째 API 모음이 포함되어 있습니다.

기능