站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

谷歌發(fā)布 Jetpack Glance Alpha 版,構(gòu)建安卓 12 小組件更輕松

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

谷歌發(fā)布 Jetpack Glance Alpha 版,構(gòu)建安卓 12 小組件更輕松

      Android 12 Widgets 改進(jìn)

  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 運(yùn)行時(shí) (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,能夠幫助您用更少的代碼構(gòu)建更美觀的自適應(yīng) App Widgets。

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

谷歌發(fā)布 Jetpack Glance Alpha 版,構(gòu)建安卓 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 提供了可組合項(xiàng)的基礎(chǔ)組件集,助您打造 “一目了然” 的體驗(yàn)。現(xiàn)在,我們將提供更多的 App Widgets。Glance 利用 Jetpack Compose 運(yùn)行時(shí) (Runtime),可以將可組合項(xiàng)轉(zhuǎn)化為實(shí)際的 RemoteViews,并在 App Widgets 中顯示。

谷歌發(fā)布 Jetpack Glance Alpha 版,構(gòu)建安卓 12 小組件更輕松

△ Glance 結(jié)構(gòu)示意圖

  可組合項(xiàng)

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

  RemoteViews

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

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

  啟用 Compose

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

  Compose 層

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

  Alpha 版介紹

  此初始版本引入了主要的 API,不僅能夠?qū)崿F(xiàn)與現(xiàn)有 RemoteViews 之間的互操作性,還能幫助您構(gòu)建 App Widgets。

  以下是該開發(fā)庫提供的內(nèi)容概覽:

  通過 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 可組合項(xiàng)的初始集組合您的界面: 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 方法將修飾符應(yīng)用于可組合項(xiàng):

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

  利用預(yù)定義的 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 提供參數(shù):

  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 狀態(tài)。

  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 可組合項(xiàng)實(shí)現(xiàn)與您現(xiàn)有 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

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

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

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

  △ 在 Android 12 中構(gòu)建新式 Android App Widgets

  Glance 使用入門

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

  示例

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

  穩(wěn)定版 Android Studio

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

  Jetpack Compose 文檔

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

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

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

  編寫您自己的插件,您可以擴(kuò)展 Android Gradle Plugin 并根據(jù)您的項(xiàng)目需求自定義您的構(gòu)建!

谷歌發(fā)布 Jetpack Glance Alpha 版,構(gòu)建安卓 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

特別提醒:本網(wǎng)信息來自于互聯(lián)網(wǎng),目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系我們,本站將會(huì)在24小時(shí)內(nèi)處理完畢。

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
日韩丰满少妇无码内射| 国产精品高清久久久久久久| 久久亚洲精品国产精品黑人| 香蕉在线精品一区二区| 青草青草久热精品视频在线观看| 国产伦精品一区二区三区无广告 | 蜜国产精品jk白丝AV网站| 奇米影视国产精品四色| 亚洲人成电影网站国产精品| 日韩精品一区二区三区老鸦窝| 日韩精品一二三区| 免费观看四虎精品国产永久| 国产精品福利网站| 妇女自拍偷自拍亚洲精品| 国产精品av一区二区三区不卡蜜| 9久9久女女免费精品视频在线观看 | 日韩在线不卡视频| 亚洲性日韩精品国产一区二区| 国产精品视频福利| 成人国产精品2021| 国外AV无码精品国产精品| 国内精品视频一区二区三区| 精品人人妻人人澡人人爽牛牛 | 亚洲国产精品碰碰| 狼人无码精华AV午夜精品| 日韩亚洲人成网站| 凹凸69堂国产成人精品视频| 老司机免费午夜精品视频| 日韩精品福利视频一区二区三区| 日韩免费一区二区三区在线| 日韩中文字幕电影| 狠狠综合视频精品播放| 合区精品久久久中文字幕一区| 国产精品无码国模私拍视频| 国产精品99爱免费视频| 精品久久久久久国产三级| 国产午夜精品一区二区三区嫩草 | 亚洲啪AV永久无码精品放毛片| 亚洲精品无码少妇30P| 欧美黑人欧美精品刺激| 成人精品视频一区二区三区尤物|