99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Jetpack WindowManager 1.1 穩(wěn)定版

谷歌開發(fā)者 ? 來源:未知 ? 2023-10-18 19:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者 / Android 開發(fā)者關(guān)系工程師 Francesco Romano

自 Jetpack WindowManager 1.0 穩(wěn)定版發(fā)布的一年多以來,可折疊設(shè)備和大屏設(shè)備領(lǐng)域發(fā)生了諸多變化。許多新款設(shè)備都已進入市場,大量新用例也已解鎖! Jetpack WindowManager 庫在幫助您優(yōu)化您的 Android 應(yīng)用上發(fā)揮重要作用,使其能夠適用于不同的設(shè)備類型。并且此版本還包含多項新功能和改進,是一個重大的里程碑式進展。 讓我們來回顧一下 Jetpack WindowManager 庫涵蓋的所有用例。

獲取窗口指標 (和大小類別!)

過去,開發(fā)者通過設(shè)備顯示尺寸來決定其應(yīng)用布局,但隨著不同設(shè)備類型 (如可折疊設(shè)備) 和顯示模式 (如多窗口模式和多顯示屏模式) 的出現(xiàn),了解應(yīng)用窗口的大小而不是設(shè)備的顯示尺寸變得至關(guān)重要。 Jetpack WindowManager WindowMetricsCalculator 界面可以提供可靠的數(shù)據(jù)來源,以幫助您衡量當前可用于顯示您應(yīng)用的屏幕空間。

  • WindowMetricsCalculator

    https://developer.android.google.cn/reference/kotlin/androidx/window/layout/WindowMetricsCalculator

在此基礎(chǔ)上,窗口大小類別是一組視口劃分點,有助于您設(shè)計、開發(fā)和測試響應(yīng)式和自適應(yīng)應(yīng)用布局。此類劃分點專門用于平衡布局的簡單性和靈活性,以便針對特殊情況優(yōu)化您的應(yīng)用。

  • 窗口大小類別

    https://developer.android.google.cn/guide/topics/large-screens/support-different-screen-sizes#window_size_classes

對于基于 View 的應(yīng)用,您可以使用以下代碼段來計算窗口大小類別:

privatefuncomputeWindowSizeClasses(){
        val metrics = WindowMetricsCalculator.getOrCreate()
            .computeCurrentWindowMetrics(this)
        val width = metrics.bounds.width()
        val height = metrics.bounds.height()
        val density = resources.displayMetrics.density
        val windowSizeClass = WindowSizeClass.compute(width/density, height/density)


        // use windowSizeClass.windowHeightSizeClass and windowSizeClass.windowWidthSizeClass
}

您可以參閱 "支持不同屏幕尺寸"開發(fā)者指南了解詳細信息。

  • 支持不同屏幕尺寸

    https://developer.android.google.cn/guide/topics/large-screens/support-different-screen-sizes

讓應(yīng)用能夠感知折疊

Jetpack WindowManager 還提供優(yōu)化可折疊設(shè)備布局所需的所有 API。 具體而言,您可以使用 WindowInfoTracker 查詢 FoldingFeature 信息,如
  • 狀態(tài): 設(shè)備的折疊狀態(tài): FLATHALF_OPENED

  • 方向:折疊或設(shè)備合頁的方向:HORIZONTALVERTICAL
  • 遮擋類型: 折疊或合頁是否遮擋部分顯示屏:NONEFULL
  • 是否分離:折疊或合頁是否創(chuàng)建了兩個邏輯顯示區(qū)域:true 或 false
  • 邊界:應(yīng)用窗口內(nèi)功能的邊界矩形 (繼承自 DisplayFeature)
  • WindowInfoTrackerhttps://developer.android.google.cn/reference/kotlin/androidx/window/layout/WindowInfoTracker
  • FoldingFeaturehttps://developer.android.google.cn/reference/androidx/window/layout/FoldingFeature
  • DisplayFeaturehttps://developer.android.google.cn/reference/androidx/window/layout/DisplayFeature#getBounds%28%29

您可以通過 Flow 訪問這些數(shù)據(jù):

override fun onCreate(savedInstanceState: Bundle?) {
    ...
    lifecycleScope.launch(Dispatchers.Main) {
        lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) {
            WindowInfoTracker.getOrCreate(this@MainActivity)
                .windowLayoutInfo(this@MainActivity)
                .collect { layoutInfo ->
                    // New posture information
                    val foldingFeature = layoutInfo.displayFeatures
                    // use the folding feature to update the layout
                }
        }
    }
}
  • Flow

    https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/

一旦收集到 FoldingFeature 信息,您便可以使用這些數(shù)據(jù)為當前設(shè)備狀態(tài)創(chuàng)建優(yōu)化布局,例如實現(xiàn)桌面模式。您可以在 MediaPlayerActivity.kt 中查看桌面模式的示例。
  • MediaPlayerActivity.kt

    https://github.com/android/platform-samples/blob/main/samples/user-interface/windowmanager/src/main/java/com/example/platform/ui/windowmanager/MediaPlayerActivity.kt

您還可以訪問我們的 Codelab 了解如何使用 Jetpack WindowManager 支持可折疊設(shè)備和雙屏設(shè)備:https://developer.android.google.cn/codelabs/android-window-manager-dual-screen-foldables

并排顯示兩個 Activity

除了上述功能您還可以使用最新的穩(wěn)定版 Jetpack WindowManager API:Activity 嵌入。
  • Activity 嵌入

    https://developer.android.google.cn/reference/kotlin/androidx/window/embedding/package-summary

Android 12L 起,Activity 嵌入允許采用傳統(tǒng)多 Activity 架構(gòu)的開發(fā)者通過同一應(yīng)用,甚至多個應(yīng)用在大屏設(shè)備上并排顯示多個 Activity。 這是以最少的代碼更改甚至無需代碼更改便可以實現(xiàn)列表詳情布局的絕佳方式。 注意: Modern Android Development (MAD) 建議使用基于 Jetpack API (包括 Jetpack Compose) 的單 Activity 架構(gòu)。如果您的應(yīng)用使用 Fragment,請參閱 SlidingPaneLayout。Activity 嵌入專為無法輕松更新為 MAD 的多 Activity 舊版應(yīng)用而設(shè)計。

  • SlidingPaneLayout

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

這也是該庫中最大的變化,目前在 Jetpack WindowManager 1.1 版中,Activity 嵌入 API 非常穩(wěn)定! 不僅如此,該 API 目前的功能也更加豐富,您可以通過此 API:
  • 修改分屏行為 (分屏比例、規(guī)則、結(jié)束行為)

  • 定義占位符
  • 在運行時環(huán)境中檢查 (并更改) 分屏狀態(tài)
  • 實現(xiàn)水平分屏
  • 在全窗口中啟動模態(tài)
如果您想探索 Activity 嵌入,可訪問專用 Codelab 了解如何使用 Activity 嵌入構(gòu)建列表詳情布局:

https://developer.android.google.cn/codelabs/large-screens/activity-embedding

許多應(yīng)用都已開始在生產(chǎn)環(huán)境中使用 Activity 嵌入,例如 WhatsApp:wKgZomUwAQeAGdxfAANwGdWvh-Q837.png ?還有 eBay!

wKgZomUwAQeAFg-uAAd0Z8rsiAI921.png

實現(xiàn)包含多 Activity 的列表詳情布局并不是 Activity 嵌入的唯一用例。 自 Android 13 (API 級別 33) 起,應(yīng)用可以嵌入來自其他應(yīng)用的 Activity。 跨應(yīng)用 Activity 嵌入支持多個 Android 應(yīng)用的 Activity 進行可視化集成處理。系統(tǒng)會在屏幕上并排或上下顯示托管應(yīng)用的 Activity 和其他應(yīng)用的嵌入 Activity,就像在單一應(yīng)用 Activity 嵌入中一樣。 托管應(yīng)用會按照實現(xiàn)單一應(yīng)用 Activity 嵌入的相同方式實現(xiàn)跨應(yīng)用 Activity 嵌入,但出于安全原因,被嵌入的應(yīng)用必須同意并選擇加入。 您可以在 "Activity 嵌入" 開發(fā)者指南中深入了解跨應(yīng)用嵌入:

  • Activity 嵌入

    https://developer.android.google.cn/guide/topics/large-screens/activity-embedding#cross-application

總結(jié)

如果您想優(yōu)化您的應(yīng)用在不同設(shè)備類型上的用戶體驗,Jetpack WindowManager 便是您應(yīng)該學習的最重要的庫之一。 WindowManager 還將在每個版本中添加有趣的新功能,敬請關(guān)注 1.2 版本中即將推出的功能。
  • 1.2 版本

    https://developer.android.google.cn/jetpack/androidx/releases/window#version_12_2

您可以參閱 Jetpack WindowManager 文檔示例應(yīng)用,即刻開始使用 WindowManager!

  • 文檔

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

  • 示例應(yīng)用

    https://github.com/android/platform-samples/tree/main/samples/user-interface/windowmanager

開發(fā)者福利月

在十月,開啟專屬開發(fā)者們的快樂!線下線上精彩互動活動、神秘禮品、干貨資料包統(tǒng)統(tǒng)安排上,讓驚喜和期待填滿整月。

趕快來了解詳情參與互動,收獲快樂和福利吧!

wKgZomUwAQiAOXxrAAAafJIrrMk621.gif?點擊屏末||即刻開始使用 Jetpack WindowManager

wKgZomUwAQiAIF0UAAATN9B0Fw0405.png

wKgZomUwAQiAYx-lAAMyGF3oQT4271.png

wKgZomUwAQiACFDOAAAptPJQ2wE812.png


原文標題:Jetpack WindowManager 1.1 穩(wěn)定版

文章出處:【微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6231

    瀏覽量

    108091

原文標題:Jetpack WindowManager 1.1 穩(wěn)定版

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    新品 | Cardputer v1.1 與 Dial v1.1 Wi-Fi信號升級!更低功耗!

    Cardputer和Dial自發(fā)布以來,憑借其獨特的設(shè)計和強大的功能,迅速成為M5Stack的“明星產(chǎn)品”。如今,我們帶來了全新升級版——Cardputerv1.1和Dialv1.1,為開發(fā)者提供
    的頭像 發(fā)表于 03-07 18:43 ?653次閱讀
    新品 | Cardputer v<b class='flag-5'>1.1</b> 與 Dial v<b class='flag-5'>1.1</b> Wi-Fi信號升級!更低功耗!

    Android Studio Ladybug Feature Drop版本的新功能

    Android Studio Ladybug Feature Drop (2024.2.2) 穩(wěn)定版已推出!
    的頭像 發(fā)表于 03-03 16:13 ?513次閱讀
    Android Studio Ladybug Feature Drop版本的新功能

    EE-372:CrossCore? embedded Studio 1.1.x入門

    電子發(fā)燒友網(wǎng)站提供《EE-372:CrossCore? embedded Studio 1.1.x入門.pdf》資料免費下載
    發(fā)表于 01-03 14:56 ?0次下載
    EE-372:CrossCore? embedded Studio <b class='flag-5'>1.1</b>.x入門

    HTTP 1.1 和 HTTP 2.0 的區(qū)別

    HTTP(超文本傳輸協(xié)議)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的協(xié)議之一,用于在客戶端和服務(wù)器之間傳輸數(shù)據(jù)。隨著技術(shù)的發(fā)展,HTTP協(xié)議也在不斷地更新和優(yōu)化。HTTP/1.1是1999年發(fā)布的,而HTTP/2是在
    的頭像 發(fā)表于 12-30 09:25 ?1097次閱讀

    解析NVIDIA JetPack 6.1的新功能

    NVIDIA JetPack一直在不斷發(fā)展,通過提供量身定制的先進軟件滿足邊緣 AI 和機器人開發(fā)者日益增長的需求。每次發(fā)布的 JetPack 新版本都會升級性能、加入新功能與優(yōu)化現(xiàn)有工具,以便為
    的頭像 發(fā)表于 11-28 10:41 ?1033次閱讀
    解析NVIDIA <b class='flag-5'>JetPack</b> 6.1的新功能

    英國比克新推出了PicoScope7軟件的穩(wěn)定新版本

    英國比克正式推出了PicoScope7.1.39穩(wěn)定版。這款軟件在原有的基礎(chǔ)上進行了全面升級,不僅繼承了EarlyAccess版本中的多項創(chuàng)新功能,還進行了用戶體驗(UX)優(yōu)化、錯誤修正以及操作系統(tǒng)
    的頭像 發(fā)表于 11-09 01:08 ?792次閱讀
    英國比克新推出了PicoScope7軟件的<b class='flag-5'>穩(wěn)定</b>新版本

    谷歌正式向Pixel設(shè)備推送Android 15穩(wěn)定版

    10月17日最新資訊,谷歌今日已正式向Pixel系列設(shè)備推送Android 15穩(wěn)定版更新。目前,已有部分Pixel設(shè)備成功完成升級,而更大范圍的推送預(yù)計將在本周末進行。
    的頭像 發(fā)表于 10-17 16:31 ?970次閱讀

    谷歌開始推送Android 15穩(wěn)定版

    近日,谷歌正式向Pixel系列設(shè)備推送了Android 15穩(wěn)定版操作系統(tǒng)。目前,已有部分Pixel設(shè)備率先完成了系統(tǒng)升級,預(yù)計本周晚些時候,更大規(guī)模的更新推送將全面展開。
    的頭像 發(fā)表于 10-17 16:12 ?2057次閱讀

    NVIDIA JetPack 6.0版本的關(guān)鍵功能

    NVIDIA JetPack SDK 支持 NVIDIA Jetson 模塊,為構(gòu)建端到端加速 AI 應(yīng)用提供全面的解決方案。JetPack 6 通過微服務(wù)和一系列新功能,擴展了 Jetson 平臺的靈活性和可擴展性,是 2024 年截至目前下載量最高的
    的頭像 發(fā)表于 09-09 10:18 ?1074次閱讀
    NVIDIA <b class='flag-5'>JetPack</b> 6.0版本的關(guān)鍵功能

    穩(wěn)壓電源電壓不穩(wěn)定的原因

    穩(wěn)定。 穩(wěn)壓電源的工作原理 在深入探討穩(wěn)壓電源電壓不穩(wěn)定的原因之前,我們首先需要了解穩(wěn)壓電源的工作原理。穩(wěn)壓電源主要由整流器、濾波器、穩(wěn)壓器和保護電路等部分組成。其工作原理如下: 1.1 整流器:整流器的作用是將
    的頭像 發(fā)表于 08-29 10:38 ?2323次閱讀

    使用NVIDIA JetPack 6.0和YOLOv8構(gòu)建智能交通應(yīng)用

    本文將介紹如何使用 NVIDIA JetPack 6.0 中的全新 Jetson 平臺服務(wù),來構(gòu)建一個適用于邊緣的端到端交通分析解決方案。該系統(tǒng)集成了多個功能:使用視頻存儲工具包 (VST) 服務(wù)
    的頭像 發(fā)表于 08-23 16:49 ?1005次閱讀
    使用NVIDIA <b class='flag-5'>JetPack</b> 6.0和YOLOv8構(gòu)建智能交通應(yīng)用

    藍牙Mesh 1.1網(wǎng)絡(luò)的性能測試

    藍牙Mesh 1.1版本中引入了遠程配置和無線設(shè)備固件更新(OTA DFU)的功能。在這篇技術(shù)博客中,我們通過廣泛部署基于Silicon Labs(亦稱“芯科科技”)的xG24和xG21無線SoC
    的頭像 發(fā)表于 08-20 14:22 ?1182次閱讀

    Jetpack Compose和設(shè)備類型的三大重要更新

    2024 年 Google I/O 大會上我們分享了大量更新和公告,幫助開發(fā)者提升工作效率。了解 2024 年 Google I/O 大會上有關(guān) Jetpack Compose 和設(shè)備類型的三大重要更新。
    的頭像 發(fā)表于 08-09 17:07 ?997次閱讀

    【AWTK使用經(jīng)驗】如何更換AWTK SDK與渲染模式

    。更換編譯項目使用的AWTKSDKAWTKSDK版本及區(qū)別AWTKSDK分為穩(wěn)定版和最新版。穩(wěn)定版是指安裝AWStudio附帶的AWTKSDK整合包,AWStudi
    的頭像 發(fā)表于 08-01 08:25 ?1551次閱讀
    【AWTK使用經(jīng)驗】如何更換AWTK SDK與渲染模式

    暫態(tài)穩(wěn)定和靜態(tài)穩(wěn)定的區(qū)別是什么

    暫態(tài)穩(wěn)定和靜態(tài)穩(wěn)定是電力系統(tǒng)穩(wěn)定性分析中的兩個重要概念,它們分別描述了電力系統(tǒng)在受到擾動后的動態(tài)響應(yīng)和穩(wěn)態(tài)運行狀態(tài)。下面將介紹暫態(tài)穩(wěn)定和靜態(tài)穩(wěn)定
    的頭像 發(fā)表于 07-26 09:41 ?4884次閱讀