谷歌發(fā)布JetpackGlanceAlpha版,構(gòu)建安卓12小組件更輕松
感謝本站網(wǎng)友 胡蘿卜周 的線索投遞!

,據(jù)谷歌開(kāi)發(fā)者發(fā)布,Android 12 改進(jìn)了一項(xiàng)被許多 Android 用戶視為關(guān)鍵的功能 — App Widgets,改進(jìn)后的 Widgets 更加實(shí)用,美觀,且更易于被用戶發(fā)現(xiàn) 現(xiàn)在,我們發(fā)布了 Jetpack Glance 的第一個(gè) Alpha 版,讓W(xué)idgets的構(gòu)建過(guò)程變得更加輕松,該版本是建立在 Jetpack Compose 運(yùn)行時(shí) 之上的新框架,旨在實(shí)現(xiàn)更快,更輕松的為主屏幕或其他界面構(gòu)建 App Widgets
Android 12 Widgets改進(jìn)
App Widgets
Jetpack Glance
Jetpack Compose 運(yùn)行時(shí)
歡迎您開(kāi)始嘗試并分享反饋意見(jiàn):
Glance 提供了新式聲明性 Kotlin API,其類似于您在 Jetpack Compose 中使用的 API,能夠幫助您用更少的代碼構(gòu)建更美觀的自適應(yīng) App Widgets。
Glance "Hello World" Widgets示例
classGreetingsWidget:GlanceAppWidgetComposableoverridefunContentTextclassGreetingsWidgetReceiver:GlanceAppWidgetReceiveroverridevalglanceAppWidget=GreetingsWidget工作原理
Glance 提供了可組合項(xiàng)的基礎(chǔ)組件集,助您打造 "一目了然" 的體驗(yàn)現(xiàn)在,我們將提供更多的 App WidgetsGlance 利用 Jetpack Compose 運(yùn)行時(shí) ,可以將可組合項(xiàng)轉(zhuǎn)化為實(shí)際的 RemoteViews,并在 App Widgets 中顯示
Glance結(jié)構(gòu)示意圖
可組合項(xiàng)
RemoteViews
這意味著 Glance 需要啟用 Compose,且依賴于運(yùn)行時(shí) ,圖形 和單元界面 Compose 層,但它與其他現(xiàn)有的 Jetpack Compose 界面元素之間不具備直接互操作性但是,您可以分享應(yīng)用中的狀態(tài)或任何其他邏輯,以此來(lái)打造一目了然的界面
啟用 Compose
Compose 層
Alpha 版介紹
此初始版本引入了主要的 API,不僅能夠?qū)崿F(xiàn)與現(xiàn)有 RemoteViews 之間的互操作性,還能幫助您構(gòu)建 App Widgets。丁于說(shuō)這次升級(jí)的ACKAnywhere擁有一致的體驗(yàn),靈活的計(jì)算能力,能力下沉,簡(jiǎn)化的容災(zāi)四大核心能力使企業(yè)在任何業(yè)務(wù)場(chǎng)景中使用容器服務(wù)時(shí),都能實(shí)現(xiàn)統(tǒng)一的集群管理,統(tǒng)一的資源調(diào)度,統(tǒng)一的數(shù)據(jù)容災(zāi)和統(tǒng)一的應(yīng)用交付。
以下是該開(kāi)發(fā)庫(kù)提供的內(nèi)容概覽:
通過(guò) GlanceAppWidget 和 GlanceAppWidgetReceiver 聲明您的 App Widgets。
GlanceAppWidget
GlanceAppWidgetReceiver
利用 Glance 可組合項(xiàng)的初始集組合您的界面: Box,Row,Column,Text,Button,LazyColumn,Image,Spacer。
Box,Row,Column,Spacer
Text
Button
LazyColumn
Image
利用 GlanceModifier 方法將修飾符應(yīng)用于可組合項(xiàng):
利用預(yù)定義的 Action 處理用戶交互:
actionStartActivity
actionRunCallback
actionStartService
actionStartBroadcastReceiver
通過(guò) ActionParameters 為 Action 提供參數(shù):
通過(guò)定義 SizeMode.Single,SizeMode.Exact 或 SizeMode.Responsive 來(lái)處理不同的 Widgets 布局。
SizeMode.Single
SizeMode.Exact
SizeMode.Responsive
不同的 Widgets 布局
提供 GlanceStateDefinition,以保留 GlanceAppWidget 狀態(tài)。
GlanceStateDefinition
GlanceAppWidget
提供本地組合,例如 LocalContext,LocalState,LocalGlanceId,LocalSize:
通過(guò) AndroidRemoteViews 可組合項(xiàng)實(shí)現(xiàn)與您現(xiàn)有 RemoteViews 之間的互操作。隨著云計(jì)算的普及和云原生技術(shù)的發(fā)展,容器服務(wù)已經(jīng)成為企業(yè)使用云必不可少的基礎(chǔ)設(shè)施。。
AndroidRemoteViews
RemoteViews
我們還將推出更多功能,例如默認(rèn)主題,更完善的 Android Studio 支持等等。敬請(qǐng)期待新版本:
注意:雖然 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í)
示例
穩(wěn)定版 Android Studio
Jetpack Compose 文檔
此外,您還可以查看 AndroidX 代碼庫(kù)中的進(jìn)階示例:
編寫您自己的插件,您可以擴(kuò)展 Android Gradle Plugin 并根據(jù)您的項(xiàng)目需求自定義您的構(gòu)建!
ResponsiveAppWidget.kt 演示
ResponsiveAppWidget.kt
。免責(zé)聲明:此文內(nèi)容為本網(wǎng)站轉(zhuǎn)載企業(yè)宣傳資訊,僅代表作者個(gè)人觀點(diǎn),與本網(wǎng)無(wú)關(guān)。僅供讀者參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
最新內(nèi)容
- 易綱:2022年將重點(diǎn)做好兩項(xiàng)直達(dá)工具政策
- 發(fā)力智能化、電氣化“福特中國(guó)2.0”驅(qū)動(dòng)品
- 怎樣做到全球累計(jì)5000萬(wàn)銷量?卡羅拉現(xiàn)身
- 八部門:到2025年規(guī)模以上制造業(yè)企業(yè)大部
- 相互寶:1個(gè)月后停止運(yùn)行,關(guān)停前確診的患病
- 回望2021:科技公司迎三大新常態(tài)傳統(tǒng)企業(yè)
- 興業(yè)銀行獲批成立私人銀行私行牌照首次落入股
- 盤點(diǎn)2021年購(gòu)車新動(dòng)向丨智能座艙已成為“
- 很難不心動(dòng)的豪華B級(jí)SUV奧迪Q5L自帶魅
- 2021年債市復(fù)盤思考:基于情緒視角




