站長資訊網
        最全最豐富的資訊網站

        谷歌發布 Jetpack Glance Alpha 版,構建安卓 12 小組件更輕松

          12 月 28 日消息,據谷歌開發者發布,Android 12 改進了一項被許多 Android 用戶視為關鍵的功能 – App Widgets,改進后的 Widgets 更加實用、美觀,且更易于被用戶發現 (84% 的用戶至少使用一個 Widgets)。現在,我們發布了 Jetpack Glance 的第一個 Alpha 版,讓 Widgets 的構建過程變得更加輕松,該版本是建立在 Jetpack Compose 運行時 (Runtime) 之上的新框架,旨在實現更快、更輕松的為主屏幕或其他界面構建 App Widgets。

        谷歌發布 Jetpack Glance Alpha 版,構建安卓 12 小組件更輕松

              Android 12 Widgets 改進

          https://developer.android.google.cn/about/versions/12/features/widgets

          App Widgets

          https://developer.android.google.cn/guide/topics/appwidgets/overview

          Jetpack Glance

          https://developer.android.google.cn/jetpack/androidx/releases/glance

          Jetpack Compose 運行時 (Runtime)

          https://developer.android.google.cn/jetpack/androidx/releases/compose-runtime

          歡迎您開始嘗試并分享反饋意見:

          https://issuetracker.google.com/issues/new?component=1097239&template=1611667

          Glance 提供了新式聲明性 Kotlin API,其類似于您在 Jetpack Compose 中使用的 API,能夠幫助您用更少的代碼構建更美觀的自適應 App Widgets。

          https://developer.android.google.cn/jetpack/compose

        谷歌發布 Jetpack Glance Alpha 版,構建安卓 12 小組件更輕松

        △ Glance “Hello World” Widgets 示例

          class GreetingsWidget(private val name: String): GlanceAppWidget() {

          @Composable

          override fun Content() {

          Text(text = “Hello $name”)

          }

          }

          class GreetingsWidgetReceiver : GlanceAppWidgetReceiver() {

          override val glanceAppWidget = GreetingsWidget(“Glance”)

          }

          工作原理

          Glance 提供了可組合項的基礎組件集,助您打造 “一目了然” 的體驗?,F在,我們將提供更多的 App Widgets。Glance 利用 Jetpack Compose 運行時 (Runtime),可以將可組合項轉化為實際的 RemoteViews,并在 App Widgets 中顯示。

        谷歌發布 Jetpack Glance Alpha 版,構建安卓 12 小組件更輕松

        △ Glance 結構示意圖

          可組合項

          https://developer.android.google.cn/reference/kotlin/androidx/compose/runtime/Composable

          RemoteViews

          https://developer.android.google.cn/reference/android/widget/RemoteViews

          這意味著 Glance 需要啟用 Compose,且依賴于運行時 (Runtime)、圖形 (Graphics) 和單元界面 Compose 層,但它與其他現有的 Jetpack Compose 界面元素之間不具備直接互操作性。但是,您可以分享應用中的狀態或任何其他邏輯,以此來打造一目了然的界面。

          啟用 Compose

          https://developer.android.google.cn/jetpack/compose/interop/adding#anchor

          Compose 層

          https://developer.android.google.cn/jetpack/compose/layering

          Alpha 版介紹

          此初始版本引入了主要的 API,不僅能夠實現與現有 RemoteViews 之間的互操作性,還能幫助您構建 App Widgets。

          以下是該開發庫提供的內容概覽:

          通過 GlanceAppWidget 和 GlanceAppWidgetReceiver 聲明您的 App Widgets。

          GlanceAppWidget

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/GlanceAppWidget

          GlanceAppWidgetReceiver

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/GlanceAppWidgetReceiver

          利用 Glance 可組合項的初始集組合您的界面: Box、Row、Column、Text、Button、LazyColumn、Image、Spacer。

          Box、Row、Column、Spacer

          https://developer.android.google.cn/reference/kotlin/androidx/glance/layout/package-summary#top-level-functions

          Text

          https://developer.android.google.cn/reference/kotlin/androidx/glance/text/package-summary#text

          Button

          https://developer.android.google.cn/reference/kotlin/androidx/glance/package-summary#button

          LazyColumn

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/lazy/package-summary#lazycolumn

          Image

          https://developer.android.google.cn/reference/kotlin/androidx/glance/package-summary#image

          利用 GlanceModifier 方法將修飾符應用于可組合項:

          https://developer.android.google.cn/reference/kotlin/androidx/glance/GlanceModifier.html

          利用預定義的 Action 處理用戶交互:

          https://developer.android.google.cn/reference/kotlin/androidx/glance/action/package-summary

          actionStartActivity

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/action/package-summary#actionstartactivity

          actionRunCallback

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/action/package-summary#actionruncallback

          actionStartService

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/action/package-summary#actionstartservice

          actionStartBroadcastReceiver

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/action/package-summary#actionstartbroadcastreceiver

          通過 ActionParameters 為 Action 提供參數:

          https://developer.android.google.cn/reference/kotlin/androidx/glance/action/ActionParameters

          通過定義 SizeMode.Single、SizeMode.Exact 或 SizeMode.Responsive 來處理不同的 Widgets 布局。

          SizeMode.Single

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/SizeMode.Single

          SizeMode.Exact

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/SizeMode.Exact

          SizeMode.Responsive

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/SizeMode.Responsive

          不同的 Widgets 布局

          https://developer.android.google.cn/guide/topics/appwidgets/layouts

          提供 GlanceStateDefinition,以保留 GlanceAppWidget 狀態。

          GlanceStateDefinition

          https://developer.android.google.cn/reference/kotlin/androidx/glance/state/GlanceStateDefinition.html

          GlanceAppWidget

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/state/package-summary

          提供本地組合,例如 LocalContext、LocalState、LocalGlanceId、LocalSize:

          https://developer.android.google.cn/reference/kotlin/androidx/glance/package-summary#top-level-properties

          通過 AndroidRemoteViews 可組合項實現與您現有 RemoteViews 之間的互操作。

          AndroidRemoteViews

          https://developer.android.google.cn/reference/kotlin/androidx/glance/appwidget/package-summary#androidremoteviews

          RemoteViews

          https://developer.android.google.cn/reference/android/widget/RemoteViews.html

          我們還將推出更多功能,例如默認主題,更完善的 Android Studio 支持等等。敬請期待新版本:

          https://developer.android.google.cn/jetpack/androidx/releases/glance

          注意: 雖然 SDK 的最低版本是 21,但 Alpha 版目前支持兼容的最低版本為 SDK v23。

          △ 在 Android 12 中構建新式 Android App Widgets

          Glance 使用入門

          您可以在 GitHub 上查看示例,以便快速入門。也可以在最新的穩定版 Android Studio 中使用 Glance,但首先需要按照 Jetpack Compose 文檔中的步驟進行設置,因為 Glance 依賴于 Compose 運行時 (Runtime)。

          示例

          https://github.com/android/user-interface-samples/tree/glance/AppWidget/glance-widget

          穩定版 Android Studio

          https://developer.android.google.cn/studio

          Jetpack Compose 文檔

          https://developer.android.google.cn/jetpack/compose/interop/adding#setup

          此外,您還可以查看 AndroidX 代碼庫中的進階示例:

          https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/

          編寫您自己的插件,您可以擴展 Android Gradle Plugin 并根據您的項目需求自定義您的構建!

        谷歌發布 Jetpack Glance Alpha 版,構建安卓 12 小組件更輕松

        △ ResponsiveAppWidget.kt 演示

          ResponsiveAppWidget.kt

          https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:glance/glance-appwidget/integration-tests/demos/src/main/java/androidx/glance/appwidget/demos/ResponsiveAppWidget.kt

        特別提醒:本網信息來自于互聯網,目的在于傳遞更多信息,并不代表本網贊同其觀點。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,并請自行核實相關內容。本站不承擔此類作品侵權行為的直接責任及連帶責任。如若本網有任何內容侵犯您的權益,請及時聯系我們,本站將會在24小時內處理完畢。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 少妇伦子伦精品无码STYLES | 国产欧美日韩综合精品一区二区三区 | 久久精品亚洲中文字幕无码麻豆| 99久久夜色精品国产网站| 久久亚洲精精品中文字幕| 人妻少妇精品系列| 2022国产精品最新在线| 国产成人A人亚洲精品无码| 欧美日韩专区麻豆精品在线 | 国内揄拍高清国内精品对白| 精品国产午夜福利在线观看 | 亚洲国产精品无码久久青草 | 蜜臀精品无码AV在线播放| 久久青草国产精品一区| 久久丫精品国产亚洲av| 久久91这里精品国产2020| 久久亚洲国产精品一区二区| 日本精品一区二区三区在线视频一| 精品在线免费观看| 国产精品免费一区二区三区四区| 亚洲国产精品成人久久蜜臀| 国产精品单位女同事在线| 久久99精品国产一区二区三区| 人妻熟妇乱又伦精品视频| 青春草无码精品视频在线观| 国产成人1024精品免费| 久久99精品国产麻豆宅宅| 国产精品午睡沙发系列| 欧洲精品色在线观看| 亚洲精品成人网久久久久久| 久久精品一区二区三区中文字幕 | 国产精品一区12p| 国产精品va无码一区二区| 亚洲精品狼友在线播放| 亚洲精品视频在线观看你懂的| 精品一区二区无码AV| 国产精品亚洲产品一区二区三区| 国产成人精品久久亚洲| 自怕偷自怕亚洲精品| 91精品国产91久久久久久蜜臀| 免费欧美精品a在线|