国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

Jetpack WindowManager 1.1 穩定版

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

掃碼添加小助手

加入工程師交流群

作者 / Android 開發者關系工程師 Francesco Romano

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

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

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

  • WindowMetricsCalculator

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

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

  • 窗口大小類別

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

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

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
}

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

  • 支持不同屏幕尺寸

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

讓應用能夠感知折疊

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

  • 方向:折疊或設備合頁的方向:HORIZONTALVERTICAL
  • 遮擋類型: 折疊或合頁是否遮擋部分顯示屏:NONEFULL
  • 是否分離:折疊或合頁是否創建了兩個邏輯顯示區域:true 或 false
  • 邊界:應用窗口內功能的邊界矩形 (繼承自 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 訪問這些數據:

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 信息,您便可以使用這些數據為當前設備狀態創建優化布局,例如實現桌面模式。您可以在 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 支持可折疊設備和雙屏設備:https://developer.android.google.cn/codelabs/android-window-manager-dual-screen-foldables

并排顯示兩個 Activity

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

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

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

  • SlidingPaneLayout

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

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

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

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

許多應用都已開始在生產環境中使用 Activity 嵌入,例如 WhatsApp:wKgZomUwAQeAGdxfAANwGdWvh-Q837.png ?還有 eBay!

wKgZomUwAQeAFg-uAAd0Z8rsiAI921.png

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

  • Activity 嵌入

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

總結

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

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

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

  • 文檔

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

  • 示例應用

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

開發者福利月

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

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

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

wKgZomUwAQiAIF0UAAATN9B0Fw0405.png

wKgZomUwAQiAYx-lAAMyGF3oQT4271.png

wKgZomUwAQiACFDOAAAptPJQ2wE812.png


原文標題:Jetpack WindowManager 1.1 穩定版

文章出處:【微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。


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

    關注

    27

    文章

    6254

    瀏覽量

    111373

原文標題:Jetpack WindowManager 1.1 穩定版

文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    微電網穩定性分析:小干擾穩定與暫態穩定關鍵技術

    微電網作為新型電力系統“源網荷儲”協同的核心單元,其穩定性直接決定能源供給的可靠性與用戶用電安全。在高比例新能源滲透與多模式運行的雙重背景下,微電網面臨著“功率波動常態化、故障沖擊多樣化”的挑戰
    的頭像 發表于 03-02 10:43 ?1473次閱讀
    微電網<b class='flag-5'>穩定</b>性分析:小干擾<b class='flag-5'>穩定</b>與暫態<b class='flag-5'>穩定</b>關鍵技術

    谷歌Android Studio Otter 3功能更新發布

    我們很高興地宣布,Android Studio Otter 3 功能更新穩定版現已發布!本次更新干貨滿滿,不僅重磅升級了 Android Studio 中的智能體工作流,還為開發者提供了更高的靈活性和掌控力,助力大家輕松利用 AI 構建 Android 應用。
    的頭像 發表于 01-28 14:15 ?592次閱讀
    谷歌Android Studio Otter 3功能更新發布

    解析DS320PR822:PCIe 5.0和CXL 1.1的高性能線性轉接驅動器

    解析DS320PR822:PCIe 5.0和CXL 1.1的高性能線性轉接驅動器 在高速數據傳輸領域,PCIe 5.0、CXL 1.1等接口技術的發展對信號傳輸的質量和穩定性提出了更高
    的頭像 發表于 12-16 14:15 ?399次閱讀

    CW32時鐘的穩定檢測

    HSE、LSE、HSIOSC、LSI、PLL 這 5 種時鐘源都支持時鐘穩定檢測功能,用戶可通過對應時鐘源的穩定標志位來確定時鐘狀態。時鐘穩定標志在關閉時鐘源時由硬件清 0,在時鐘源啟動并穩定
    發表于 12-03 06:15

    重要通知 | Splashtop 即將停止支持 TLS 1.0/1.1

    尊敬的Splashtop用戶:為持續增強Splashtop遠程連接服務的安全性,我們將于2025年10月底停止支持TLS1.0和1.1協議。TLS1.0與1.1協議采用過時的加密方法,缺乏關鍵的安全
    的頭像 發表于 09-30 10:08 ?729次閱讀
    重要通知 | Splashtop 即將停止支持 TLS 1.0/<b class='flag-5'>1.1</b>

    0.6–1.1 GHz 兩級、高線性度、高增益、低噪聲放大器 skyworksinc

    電子發燒友網為你提供()0.6–1.1 GHz 兩級、高線性度、高增益、低噪聲放大器相關產品參數、數據手冊,更有0.6–1.1 GHz 兩級、高線性度、高增益、低噪聲放大器的引腳圖、接線圖、封裝手冊
    發表于 09-18 18:30
    0.6–<b class='flag-5'>1.1</b> GHz 兩級、高線性度、高增益、低噪聲放大器 skyworksinc

    百度文心大模型X1.1正式發布

    今天,在WAVE SUMMIT深度學習開發者大會2025上,文心大模型X1.1正式發布,在事實性、指令遵循、智能體等能力上均提升顯著。
    的頭像 發表于 09-10 11:08 ?2104次閱讀

    如何確保穩定的 WDT 重置?

    如何確保穩定的 WDT 重置
    發表于 08-26 06:34

    是德示波器MSOX2024A時間基準穩定性的測試方法

    一、時間基準穩定性對示波器性能的影響 1.1 時間基準穩定性如何影響示波器的測量精度 時間基準穩定性直接影響示波器測量精度。若時間基準不穩定
    的頭像 發表于 08-18 17:19 ?700次閱讀
    是德示波器MSOX2024A時間基準<b class='flag-5'>穩定</b>性的測試方法

    yolov11轉kmodel,numpy是要降級為1.x嗎?

    python3.9,yolo是最新的穩定版,和yolo捆綁pip安裝的numpy是2.0.1 錯誤日志
    發表于 08-11 08:16

    全新導航庫Jetpack Navigation 3發布

    在應用中的不同屏幕之間導航理應簡單明了。然而,構建穩健、可擴展且賞心悅目的導航體驗卻并非易事。多年來,Jetpack Navigation 庫一直是開發者的重要工具,但隨著 Android 界面格局的演變,尤其是 Jetpack Compose 的興起,我們意識到是時候探
    的頭像 發表于 08-06 13:56 ?1277次閱讀

    新品 | Cardputer Accessory Kit v1.1 &amp;amp; Atomic GPS Base V2.0

    本周,我們推出兩款實用型產品CardputerAccessoryKitv1.1和AtomicGPSBaseV2.0,前者主要針對Cardputer在使用過程中常見的硬件維護問題,后者則是
    的頭像 發表于 07-04 17:39 ?1317次閱讀
    新品 | Cardputer Accessory Kit v<b class='flag-5'>1.1</b> &amp;amp; Atomic GPS Base V2.0

    canmv-k230-v1.1 wifi連不上是怎么回事?

    軟硬件版本信息` 用的canmv-k230-v1.1 MicroPython v1.1 on 2024-09-15; k230_canmv with K230 network(rt_smart
    發表于 04-29 06:59

    星閃創為_XSCW6000-AP使用手冊_Rev1.1

    星閃創為_XSCW6000-AP使用手冊_Rev1.1
    發表于 04-26 20:55

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

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