Glance

Xây dựng bố cục cho các nền tảng từ xa bằng API kiểu Jetpack Compose.
Bản cập nhật mới nhất Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành beta Bản phát hành alpha
Ngày 12 tháng 6 năm 2024 1.1.0 - - -

Khai báo phần phụ thuộc

Để thêm một phần phụ thuộc trên Glance, bạn phải thêm kho lưu trữ Google Maven vào dự án của mình. Hãy đọc bài viết Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

Groovy

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

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

    // 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"
    }
}

Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.

Ý kiến phản hồi

Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.

Phiên bản 1.1

Phiên bản 1.1.0

Ngày 12 tháng 6 năm 2024

Phát hành androidx.glance:glance-*:1.1.0. Phiên bản 1.1.0 bao gồm các thay đổi sau.

Thay đổi quan trọng kể từ phiên bản 1.0.0

  • Chuyển Xem nhanh sang phiên bản 1.1.0 ổn định.

Phiên bản 1.1.0-rc01

Ngày 14 tháng 5 năm 2024

Phát hành androidx.glance:glance-*:1.1.0-rc01. Phiên bản 1.1.0-rc01 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm tham số chiều rộng và chiều cao vào tính năng Xem trước chú thích để xem nhanh. Chuyển phiên bản 1.1.0 sang Bản phát hành dùng thử.

Các thay đổi về API

  • Thêm tham số không bắt buộc vào Scaffold. (If753f)
  • Thêm tham số chiều rộng và chiều cao vào Xem nhanh @Preview. (Ibabe8)
  • Ngừng hỗ trợ bản xem trước thẻ thông tin nhanh trên Wear. (I3850a)
  • Thêm API để đặt giá trị trọng số tuỳ chỉnh cho FontStyle. (I7390a)
  • Đổi tên Enum ImplementationMode của Viewfinder để phản ánh tốt hơn các cách triển khai cơ bản và thêm các hằng số cố định cho TransformationInfo.sourceRotation (Ic6149)

Sửa lỗi

  • Sửa lỗi gây ra sự cố kết xuất cho ViewGroups ở chế độ tương thích ngược (I8de92)

Đóng góp bên ngoài

Phiên bản 1.1.0-beta02

Ngày 17 tháng 4 năm 2024

Phát hành androidx.glance:glance-*:1.1.0-beta02. Phiên bản này chứa các tệp nguồn bị thiếu trong bản phát hành trước.

Phiên bản 1.1.0-beta01

Ngày 3 tháng 4 năm 2024

Phát hành androidx.glance:glance-*:1.1.0-beta01. Phiên bản 1.1.0-beta01 bao gồm các thay đổi sau.

Phiên bản 1.1.0-alpha01

Ngày 7 tháng 2 năm 2024

Phát hành androidx.glance:glance-*:1.1.0-alpha01. Phiên bản 1.1.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Thư viện kiểm thử đơn vị cho tính năng Xem nhanh mà không cần đến Trình tự động hoá giao diện người dùng. Bạn có thể kiểm thử mã nhanh trực tiếp mà không cần tăng cường khung hiển thị.
  • Các thành phần cấp cao hơn cho bố cục đơn giản hơn.
  • Đối tượng sửa đổi và tuỳ chọn giao diện mới.
  • API mới để nhận luồng RemoteViews từ một cấu trúc, runComposition

Các thay đổi về API

  • Thêm vai trò màu widgetBackground mới vào giao diện Xem nhanh. (Ia2ab8)
  • Thêm GlanceAppWidget.runComposition (I6344c, b/298066147)
  • Thêm thành phần TopBar mới (Ibd361)
  • Thêm cơ chế ghi đè vào đối tượng sửa đổi clickable. (Iacecf)
  • Thêm API mới cho các nút phủ màu. Tính năng này sẽ được thử nghiệm cho đến khi phát hành phiên bản 1.0. (I92523)
  • Thêm runGlanceAppWidgetUnitTest cung cấp phạm vi để gọi các phương thức trên GlanceAppWidgetUnitTest, chẳng hạn như provideComposable để cung cấp một thành phần kết hợp nhỏ riêng biệt cho mục đích kiểm thử, onNode để tìm phần tử có thể kết hợp của Xem nhanh trong nội dung được cung cấp. Điều này cho phép bạn viết mã kiểm thử đơn vị cho từng hàm có khả năng kết hợp trong appWidget để xác minh rằng với một số đầu vào nhất định, hàm sẽ xuất ra tập hợp phần tử có thể kết hợp nhanh như dự kiến. (I2f682)
  • Thêm một đối tượng sửa đổi testTag trong ngữ nghĩa để sử dụng trong kiểm thử đơn vị. (I8f62f)
  • cập nhật TitleBar – văn bản và biểu tượng có thể phủ màu riêng lẻ. (Ia0a60)
  • Thêm thành phần Scaffold (I8a736)
  • Thêm bộ lọc hasActionRunCallbackClickAction và câu nhận định assertHasActionRunCallbackClickAction để kiểm thử actionRunCallack. Ngoài ra, chúng tôi cũng thêm các hàm biến thể viết tắt khác cho các bộ lọc kiểm thử liên quan đến hành động – hasStartActivityClickAction<activityClass>(..), hasStartServiceAction<receiverClass>(..), hasSendBroadcastAction<receiverClass>(..). Thêm các biến thể tương tự cho các biến thể assertHasXXX. (Ieca63)
  • Di chuyển API chưa phát hành. Thay đổi đối tượng sửa đổi từ nội bộ thành công khai nhưng thư viện bị hạn chế (If2a08)
  • Thêm phương thức onCompositionError để nhà phát triển có thể chạy mã khi xảy ra lỗi (I9b56f)
  • Thêm các API nút và nút biểu tượng để xem nhanh (I0fd6f)
  • Thêm bộ lọc isLinearProgressIndicator, isIndeterminateLinearProgressIndicator, isIndeterminateCircularProgressIndicator để khớp với chỉ báo tiến trình. Nội dung bổ sung bao gồm bộ lọc hasAnyDescendants để kiểm tra xem một nút có thành phần con cháu trong hệ phân cấp phụ khớp với một trình so khớp cụ thể hay không (Ifd426)
  • Thêm câu nhận định và bộ lọc để cho phép kiểm thử các hành động nhấp bắt đầu dịch vụ / hoạt động hoặc thông báo truyền tin. Bao gồm cả hoạt động kiểm thử xem các phần tử đầu vào có được kiểm tra hay không. (I3041c)

Phiên bản 1.0.0

Phiên bản 1.0.0-alpha06

Ngày 7 tháng 2 năm 2024

Phát hành androidx.glance:glance-appwidget-preview:1.0.0-alpha06androidx.glance:glance-preview:1.0.0-alpha06. Phiên bản 1.0.0-alpha06 bao gồm các thay đổi sau.

Tính năng mới

  • Cập nhật phiên bản để tuân theo mô-đun mới của tính năng Xem nhanh.

Phiên bản 1.0.0

Ngày 6 tháng 9 năm 2023

Phát hành androidx.glance:glance-*:1.0.0. Phiên bản 1.0.0 bao gồm các thay đổi sau.

Các tính năng chính của phiên bản 1.0.0

  • Di chuyển Looker sang phiên bản ổn định 1.0.0

Phiên bản 1.0.0-rc01

Ngày 26 tháng 7 năm 2023

Phát hành androidx.glance:glance-*:1.0.0-rc01. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.

Di chuyển Looker sang rc01 trên đường phát hành ổn định cho phiên bản 1.0.0.

Tính năng mới

  • Thêm các tham số chính vào lambda hành động để lệnh gọi hành động ổn định hơn.
  • Thêm khả năng cung cấp cho các hành động ActvityOptions đến startActivity.
  • Bổ sung tính năng hỗ trợ Android 14

Các thay đổi về API

  • Thêm tham số khoá không bắt buộc cho tất cả phần tử chấp nhận lambda. (Id96c1, b/282445798)
  • Thêm tính năng hỗ trợ cho việc thiết lập gói ActivityOptions cho actionStartActivity (I6a08d)
  • Hợp nhất các tệp API thử nghiệm và công khai cho d,e,f,g-path (I03646, b/278769092)
  • Không áp dụng, việc thay đổi tệp API chỉ là phương thức sắp xếp lại thứ tự (I5fa95)
  • Thêm API để đặt CoroutineContext cho các yêu cầu GlanceAppWidgetReceiver (I0a100)
  • Thêm một API mới để cung cấp ActivityOptions cho LazyColumnLazyVerticalGrid sẽ dùng cho mọi hành động trong danh sách.(Id8d71)

Sửa lỗi

  • Không áp dụng, việc thay đổi tệp API chỉ là phương thức sắp xếp lại thứ tự (I5fa95)
  • Bản minh hoạ kiểu thành phần văn bản xem nhanh (Ie78a4)

Phiên bản 1.0.0-beta01

Ngày 10 tháng 5 năm 2023

Phát hành androidx.glance:glance-*:1.0.0-beta01. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.

Tính năng mới

  • Chuyển thư viện sang giai đoạn thử nghiệm.
  • Hỗ trợ giao diện bằng cách sử dụng GlanceTheme , thêm các mô-đun Looker và Material3 để hỗ trợ giao diện của Material 2 và Material 3 trong tính năng Xem nhanh.
  • Thêm tính năng hỗ trợ FontFamily vào các API văn bản.
  • Di chuyển GlanceAppWidget sang cơ chế cập nhật dựa trên phiên WorkManager. Giờ đây, người dùng Xem nhanh cho AppWidgets sẽ ghi đè GlanceAppWidget.provideGlance thay vì phương thức Content cũ. Vì điều này đang diễn ra trong một worker, nên giờ đây, đây là nơi phù hợp để tải tài nguyên, cơ sở dữ liệu hoặc các mục trên mạng mà không cần phải có một worker riêng.

Các thay đổi về API

  • Thêm API *Defaults cho Button, Checkbox, RadioButtonSwitch. Nó giúp xem nhanh hơn phù hợp với các mẫu của Jetpack Compose. (I94828)
  • Mô-đun mẫu mới của Xem nhanh (I94459)
  • Chuyển ResourceColorProvider thành nội bộ cho mô-đun. Thay đổi có thể gây lỗi. Cần thiết vì ResourceColorProvider chỉ nên được dùng để tuỳ chỉnh giao diện động để tránh trường hợp một số màu là tài nguyên động và một số màu khác được phân giải đầy đủ. (Ib0db7)
  • Thêm FontFamily làm tuỳ chọn cho TextStyle. (Ic19ba, b/274179837)
  • Tên thông số giá trị cho Enum.valueOf đã thay đổi (Ia9b89)
  • Nhiều ngoại lệ được gửi từ enum valueOf (I818fe)
  • Cập nhật GlanceAppWidget để dùng provideGlance làm điểm truy cập chính. GlanceAppWidget.Content hiện không dùng nữa. (I202b5)
  • Thêm tuỳ chọn để cung cấp màu phủ cho hình ảnh (I26192, b/212418562)
  • Bổ sung tính chất rỗng cho kiểu dữ liệu trả về của các hàm ẩn không dùng nữa. (Ibf7b0)
  • Thêm chú giải @JvmDefaultWithCompatibility (I8f206)
  • Xoá SingleEntityTemplateData.displayHeader không dùng đến. (I7f094)
  • Thêm tính năng hỗ trợ việc sử dụng lambda làm lệnh gọi lại (Ia0bbd)
  • Di chuyển DayNightColorProvider sang mô-đun Looker (I1842c, b/256934779)
  • Xoá LocalColorProvider khỏi Mẫu. Mẫu giờ đây sẽ sử dụng GlanceTheme.colors (Ic15e2)
  • Đã xoá tính chất rỗng khỏi Text(style: TextStyle) (I7123b, b/237012816)
  • Màu văn bản mặc định thành đen. xoá tính chất rỗng (I3072c, b/237012816)
  • Đặt giao diện động ColorProviders làm đối tượng của riêng nó. Đặt ResourceColorProvider trong mô-đun. (Id0e2d, b/237012816)
  • Thêm Danh mục không xác định vào ImageSize. (I2fa39)
  • Xoá hàm GlanceAppWidget.Content không dùng nữa (Ib05f6)
  • Thêm đối tượng sửa đổi dưới dạng tham số vào AndroidRemoteViews. (I515d4)
  • Thêm GlanceAppWidget.compose để dễ dàng kiểm thử đơn vị hơn (Ie9b28)

Sửa lỗi

  • Thêm tiện ích minh hoạ cho phông chữ văn bản tổng quan (I5c3d7)
  • Tạo AndroidRemoteViews có kích thước lớn bằng Đối tượng sửa đổi.
  • Đã giải quyết vấn đề liên quan đến màu giao diện không nhất quán
  • Tất cả tài nguyên hiện đều có tiền tố để tránh xung đột

Phiên bản 1.0.0-alpha05

Ngày 5 tháng 10 năm 2022

Phát hành androidx.glance:glance:1.0.0-alpha05, androidx.glance:glance-appwidget:1.0.0-alpha05androidx.glance:glance-wear-tiles:1.0.0-alpha05. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm requestPinGlanceAppWidget vào GlanceAppWidgetManager để cho phép ứng dụng nhắc người dùng thêm tiện ích hoạt động dựa trên Glance vào màn hình chính của họ. (Ic6e47)
  • Thêm ACTION_DEBUG_UPDATE vào GlanceAppWidgetReceiver để cho phép nhà phát triển buộc tiện ích của họ cập nhật từ adb trên trình mô phỏng và thiết bị bị can thiệp hệ thống. (I94ae1)

Các thay đổi về API

  • Xoá các nút hành động ở tiêu đề trong mẫu Glance để đơn giản hoá trường hợp sử dụng. (Ie4387)
  • Tái cấu trúc Mẫu thực thể đơn để sử dụng lại thiết kế hệ thống phụ Khối. (Iecd2c)
  • Tái cấu trúc Mẫu danh sách để dùng thiết kế Khối Text/Image/Action. (If0cc1)
  • Thêm khoảng số ưu tiên cho TextBlockImageBlock. (I73100)

Sửa lỗi

  • Xoá phần phụ thuộc Material3. (I28d1c)
  • Hướng đến một hệ thống nhất quán hơn để thêm lề và khoảng trắng trong bố cục mẫu Glance. (I29773)
  • Sửa quy tắc Proguard không đúng định dạng đang chặn không cho các bản phát hành rút gọn dựng.

Phiên bản 1.0.0-alpha04

Ngày 10 tháng 8 năm 2022

Phát hành androidx.glance:glance:1.0.0-alpha04, androidx.glance:glance-appwidget:1.0.0-alpha04androidx.glance:glance-wear-tiles:1.0.0-alpha04. Phiên bản 1.0.0-alpha04 bao gồm những thay đổi sau.

Tính năng mới

  • Thêm các tính năng tô màu cho Nút.
  • Thêm chú thích GlanceComposable để kiểm tra thời gian biên dịch tốt hơn.
  • Thêm các tính năng Glance dành riêng cho Wear.

Các thay đổi về API

  • Cập nhật API Dữ liệu thư viện Glance và Chế độ xem thu nhỏ. (Ibc7a8)
  • Thêm ButtonColors để định cấu hình các nút. (Iea88d, b/236305351)
  • Đổi tên ColorProvider.resolve thành ColorProvider.getColor (Ic9dfe)
  • Thêm phương thức copy() vào TextStyle. (I9aef6)
  • Thêm một lớp ColorProviders có thể dùng như một phần giao diện cho tính năng Glance. (I848b9, b/237012816)
  • Thêm hỗ trợ Mẫu danh sách vào kiểu danh sách và chế độ xem thu gọn. (I50cdc)
  • Thêm ngữ nghĩa vào GlanceModiierGlanceCurvedModifier. (Ifda7e)
  • Thêm chú thích GlanceComposable. (I5dbf0)
  • Chuyển các mẫu Glance vào dự án Glance chính. (I9db94)
  • Thêm ColorProvider.resolve() (Ife532, b/214733442)
  • Phương thức mới để lấy GlanceId từ appWidgetId hiện có hoặc một ý định từ hoạt động cấu hình (Icb70c, b/230391946)
  • Thêm chú thích GlanceComposable. (I2c21f)
  • Thêm GlanceRemoteViews để chạy thành phần cấu tạo bên ngoài GlanceAppWidget. (I18f92)
  • Xoá màu trong ProgressIndicatorDefaults. (I40299)
  • Đổi tên phương thức onRun của ActionCallback thành onAction, để đảm bảo tính nhất quán với API công khai, theo yêu cầu của các ý kiến phản hồi về đánh giá API. (Icfa57)
  • Chuyển đổi bố cục mẫu Glance để sử dụng bản đồ (I46bfd)
  • Thêm thành phần kết hợp RadioButton (I4ecce)
  • Thêm GlanceWearTiles để soạn Wear Tiles (Ia9f65)
  • Đã thêm chức năng nhấp vào GlanceCurvedModifier (Iec2a0)
  • Triển khai CurvedRow làm phạm vi và tạo DSL để thêm các thành phần kết hợp và/hoặc phần tử đường cong thông thường. Đồng thời đã thêm curvedLinecurvedSpacer được dịch sang ArcLineArcSpacer trong ô proto (Ib955b)
  • Cập nhật tính chất rỗng trong lõi và appcompat để phù hợp với Tiramisu DP2 (I0cbb7)
  • Thêm hỗ trợ cho RuncallbackAction trong glance-wear-tile, chỉ RunCallbackAction hiện không hỗ trợ tham số nào (Ide64a)

Đóng góp bên ngoài

  • Đã cập nhật :compose:ui:ui-test api (updateApi) do di chuyển test-coroutines-lib (I3366d)

Phiên bản 1.0.0-alpha03

Ngày 23 tháng 2 năm 2022

Phát hành androidx.glance:glance-*:1.0.0-alpha03. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.

Tính năng mới

  • Định nghĩa ở trạng thái đơn giản hoá để đặt mặc định là Lựa chọn ưu tiên.

Các thay đổi về API

  • Đơn giản hoá việc xử lý trạng thái bằng cách đặt PreferencesGlanceStateDefinition làm trạng thái xử lý mặc định. Đã xoá GlanceAppWidget.updateAppWidgetState và giới thiệu updateAppWidgetState sử dụng Preferences theo mặc định. (I58963)
  • Thêm lớp Mẫu văn bản Glance và cập nhật Thiết kế mẫu (I4e146)
  • Thêm cơ sở hạ tầng đường viền cho mẫu Tự do (If03d6)
  • Nội dung cập nhật cho bố cục SingleEntityTemplate (If925d)
  • Đã thêm LazyVerticalGrid (I5f442)
  • Sử dụng ColorProvider trên SingleEntityTemplate (I01ee0)
  • Cập nhật tên lớp mẫu (I3720e)
  • Đã thêm LinearProgressIndicatorCircularProgressIndicator có thể kết hợp. (Ie116b)

Sửa một số lỗi

  • Triển khai mẫu Glance ban đầu, xác định dữ liệu "mẫu mục đơn" và bố cục mẫu ví dụ (I35837)
  • Căn chỉnh ô xác thực vào giữa theo mặc định (I264be)
  • Sửa lỗi fillMaxSize/Width/Height trong glance-wear-tiles (I0a39f)

Phiên bản 1.0.0-alpha02

Ngày 26 tháng 1 năm 2022

Phát hành androidx.glance:glance-*:1.0.0-alpha02. Phiên bản 1.0.0-alpha02 bao gồm những thay đổi sau.

Tính năng mới

Bản phát hành này chứa tập hợp các API giúp xây dựng Wear Tiles bằng thời gian chạy của Compose với các thành phần có thể kết hợp được tối ưu hoá, cho phép xem lướt qua

  • Khai báo dịch vụ ô vuông bằng cách mở rộng GlanceTileService, một dịch vụ tạo ô bằng hàm Content() có thể kết hợp.
  • Nội dung kết hợp Glance cụ thể cho Wear Tiles: CurvedRow, CurvedText.
  • Xử lý các chế độ dòng thời gian cho ô bằng cách xác định TimelineMode.SingleEntryTimelineMode.TimeBoundEntries.
  • LocalTimeInterval, thành phần cục bộ đề cập đến một khoảng thời gian cụ thể.
  • BorderModiferGlanceModifier áp dụng đường viền xung quanh phần tử.

Bản phát hành này cũng thêm Chỉ báo tiến trình vào AppWidget Glance.

Các thay đổi về API

  • Đã thêm LinearProgressIndicatorCircularProgressIndicator có thể kết hợp. (Ie116b)
  • Thay đổi actionStartBroadcastReceiver thành actionSendBroadcast (I7d555)
  • Chuyển bối cảnh sang GlanceAppWidget gọi lại onDelete (I4c795)

Sửa lỗi

  • Xử lý chính xác OPTIONAL_APP đa_SYMBOL nếu yếu tố này hiện diện nhưng không có nội dung. (I01f82)

Phiên bản 1.0.0-alpha01

Ngày 15 tháng 12 năm 2021

Phát hành androidx.glance:glance:1.0.0-alpha01, androidx.glance:glance-appwidget:1.0.0-alpha01androidx.glance:glance-appwidget-proto:1.0.0-alpha01. Phiên bản 1.0.0-alpha01 bao gồm những thay đổi sau.

Các tính năng trong bản phát hành đầu tiên

  • Bản phát hành đầu tiên của Glance bao gồm tập hợp API đầu tiên giúp xây dựng AppWidget bằng cách sử dụng Thời gian chạy Compose với một tập hợp các thành phần có thể kết hợp được tối ưu hoá, cho phép xem nhanh.

Tính năng