chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

OpenHarmony多窗口框架介紹

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-05-11 10:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是窗口系統(tǒng)

窗口系統(tǒng)的作用,是提供一種機(jī)制,在同一塊物理屏幕上使多個(gè)應(yīng)用界面能夠顯示和交互。窗口作為應(yīng)用的界面顯示容器,各應(yīng)用程序的開發(fā)者只需要實(shí)現(xiàn)被分配部分的顯示區(qū)域內(nèi)的交互界面即可,窗口系統(tǒng)會(huì)將這些交互界面組織成最終用戶見到的形態(tài)。 對(duì)應(yīng)用開發(fā)者而言,窗口系統(tǒng)提供了界面顯示和交互能力的抽象;對(duì)用戶而言,窗口系統(tǒng)提供了控制應(yīng)用界面的方式;對(duì)整個(gè)操作系統(tǒng)而言,窗口系統(tǒng)提供了不同應(yīng)用顯示界面的組織管理邏輯。

為什么我們需要多窗口能力

對(duì)個(gè)人辦公電腦這樣的生產(chǎn)力設(shè)備而言,用戶需要同時(shí)顯示多個(gè)應(yīng)用以提升辦公效率,并且用戶已經(jīng)十分習(xí)慣了多個(gè)窗口層疊排布的組織形式,這也是主流桌面系統(tǒng)都在采用的窗口形式。

對(duì)移動(dòng)終端而言,實(shí)際上大部分時(shí)候用戶仍然在使用多窗口,比如在 OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)中,狀態(tài)欄、導(dǎo)航欄、壁紙也是獨(dú)立窗口,當(dāng)用戶在桌面上時(shí)實(shí)際上已經(jīng)存在 4 個(gè)窗口了。使用普通應(yīng)用時(shí)的多窗口場景則包含分屏模式以及懸浮窗功能。對(duì)某些特定場景而言,多窗口功能也是十分重要的,例如車機(jī)在導(dǎo)航場景時(shí),如果還需要進(jìn)行其他任務(wù),就需要進(jìn)入分屏模式。

OpenHarmony多窗口框架介紹

對(duì) OpenHarmony 來說,一個(gè)明顯的挑戰(zhàn)是 OpenHarmony 所面向的設(shè)備形態(tài)是不確定的,從幾百兆內(nèi)存的嵌入式設(shè)備,到個(gè)人辦公設(shè)備,都有可能在 OpenHarmony 需要支持的設(shè)備范圍之內(nèi),而這些設(shè)備對(duì)多窗口的訴求差距較大,因此 OpenHarmony 窗口框架的目標(biāo)是提供構(gòu)建這些設(shè)備圖形界面所需要的能力,但又盡可能保持足夠的靈活性,允許系統(tǒng)進(jìn)行策略配置或者二次開發(fā)來達(dá)成各自不同的訴求。

OpenHarmony窗口框架職責(zé)介紹

在 OpenHarmony 中,窗口系統(tǒng)主要負(fù)責(zé)以下職責(zé):

?提供應(yīng)用和系統(tǒng)顯示界面的窗口抽象:

為了將圖形界面顯示在屏幕上,應(yīng)用和系統(tǒng)需要向窗口系統(tǒng)申請(qǐng)窗口對(duì)象,這通常代表了屏幕上一塊矩形區(qū)域,具有位置、寬高和疊加層次(Z 軸)屬性。同時(shí),窗口對(duì)象也負(fù)責(zé)加載界面中 UI 框架的根節(jié)點(diǎn),應(yīng)用程序的 UI 界面就通過這個(gè)根節(jié)點(diǎn)在窗口中加載顯示。

?組織不同窗口的顯示關(guān)系,包括疊加層級(jí)和位置屬性:

窗口系統(tǒng)維護(hù)不同窗口間的疊加層次。應(yīng)用和系統(tǒng)的窗口具有多種類型,不同類型的窗口具有不同的疊加層次(Z 軸高度)。窗口系統(tǒng)負(fù)責(zé)給不同類型的窗口定義默認(rèn)的層次范圍,并根據(jù)用戶操作更新窗口層次,即用戶的操作也可以改變用戶窗口的疊加層次。例如,通過點(diǎn)擊或者觸摸操作,用戶可以將選中的窗口在用戶界面的前臺(tái)展示。

窗口系統(tǒng)維護(hù)不同窗口的位置屬性。窗口系統(tǒng)負(fù)責(zé)給不同類型窗口定義默認(rèn)的位置和大小,并根據(jù)應(yīng)用層對(duì)于窗口位置和大小的偏好設(shè)定進(jìn)行實(shí)際調(diào)整。不同的窗口類型有不同的默認(rèn)位置和大小。例如,導(dǎo)航欄、音量條、壁紙等系統(tǒng)窗口均有各自固定的顯示位置和窗口大小,而應(yīng)用窗口的顯示位置和顯示大小則可以根據(jù)窗口顯示模式和用戶操作在一定范圍內(nèi)調(diào)整。

?設(shè)置窗口裝飾:

在自由窗口等模式中,窗口系統(tǒng)會(huì)通知 ArkUI 在應(yīng)用窗口外部增加窗口裝飾。窗口裝飾通常包含對(duì)窗口進(jìn)行最大化、最小化及關(guān)閉按鈕等界面元素,方便用戶進(jìn)行操作。

f0a4a342-cc74-11ec-bce3-dac502259ad0.jpg

?設(shè)置窗口動(dòng)畫:

在窗口顯示、隱藏、和窗口間切換時(shí),通常會(huì)有一組動(dòng)畫效果使得整個(gè)交互過程更加連貫流暢。窗口系統(tǒng)負(fù)責(zé)設(shè)置窗口的動(dòng)畫參數(shù),完成動(dòng)畫效果。

?指導(dǎo)輸入事件分發(fā):

輸入事件通??梢苑譃橹赶蛐暂斎耄ㄈ缬|摸事件、鼠標(biāo)事件)和非指向性輸入(如按鍵)。指向性輸入事件通常與顯示屏的某個(gè)坐標(biāo)關(guān)聯(lián),事件分發(fā)時(shí)需要根據(jù)當(dāng)前窗口系統(tǒng)的狀態(tài),將事件分發(fā)給在這個(gè)位置顯示的窗口;非指向性輸入事件則通常與當(dāng)前的焦點(diǎn)窗口關(guān)聯(lián),事件分發(fā)時(shí)需要根據(jù)當(dāng)前的焦點(diǎn)窗口,將事件分發(fā)給當(dāng)前的窗口。

f0cc5c52-cc74-11ec-bce3-dac502259ad0.jpg

?組織窗口內(nèi)容的顯示:

各應(yīng)用輸出的顯示內(nèi)容,最終會(huì)被組合成一張顯示畫面輸出給物理屏幕,而窗口系統(tǒng)負(fù)責(zé)向 RenderServer 提供每個(gè)顯示內(nèi)容的位置、大小、層級(jí),使得每個(gè)界面被正確組合。

f0e5f1b2-cc74-11ec-bce3-dac502259ad0.jpg

OpenHarmony窗口類型定義

OpenHarmony 的窗口分為系統(tǒng)窗口和應(yīng)用窗口兩個(gè)類別,而應(yīng)用窗口又分為應(yīng)用主窗口和應(yīng)用子窗口兩種類型。

系統(tǒng)窗口

系統(tǒng)窗口指完成系統(tǒng)特定功能的窗口類型。通常來說,系統(tǒng)窗口不允許三方應(yīng)用創(chuàng)建,也不是由界面 Ability 默認(rèn)創(chuàng)建,而是由系統(tǒng)應(yīng)用手動(dòng)添加的。

系統(tǒng)窗口可以被系統(tǒng)應(yīng)用直接添加、移除、改變大小,系統(tǒng)應(yīng)用的直接操作給予系統(tǒng)應(yīng)用足夠的靈活度應(yīng)對(duì)不同產(chǎn)品和 UI 設(shè)計(jì)的變更。

應(yīng)用主窗口

應(yīng)用主窗口是由界面 Ability 默認(rèn)為應(yīng)用創(chuàng)建、加載的,用于顯示應(yīng)用界面的窗口類型。應(yīng)用主窗口會(huì)在任務(wù)管理界面中被顯示。

應(yīng)用輔助窗口

應(yīng)用輔助窗口是基于應(yīng)用手動(dòng)創(chuàng)建的,用于顯示應(yīng)用的彈窗、懸浮窗口等內(nèi)容的窗口。應(yīng)用輔助窗口不會(huì)在任務(wù)管理界面中被顯示。在應(yīng)用獲取權(quán)限后,允許應(yīng)用輔助窗口在應(yīng)用主窗口不再顯示后繼續(xù)在前臺(tái)懸浮顯示

OpenHarmony應(yīng)用窗口模式

應(yīng)用窗口模式指的是應(yīng)用主窗口的顯示方式,這也是大部分用戶所理解的“多窗口能力”。OpenHarmony 3.1 Release 中,支持以下三種應(yīng)用窗口模式:全屏、分屏、自由窗口

全屏模式

全屏窗口是手持設(shè)備和嵌入設(shè)備中最常用的窗口模式,OpenHarmony 中的全屏模式具有以下特征:

1. 全屏窗口默認(rèn)情況下鋪滿狀態(tài)欄導(dǎo)航欄之外的整個(gè)屏幕區(qū)域(見沉浸式章節(jié))

2.同一時(shí)間內(nèi),每個(gè)屏幕上僅存在一個(gè)活動(dòng)狀態(tài)的全屏窗口,新的全屏窗口被啟動(dòng),舊的全屏窗口默認(rèn)被切換到后臺(tái)(而不是被遮擋)

f116fdde-cc74-11ec-bce3-dac502259ad0.jpg

分屏模式

分屏模式主要在平板和個(gè)人電腦中使用,OpenHarmony 中的分屏模式具有以下特征:

1. 分屏窗口默認(rèn)占據(jù)屏幕的某個(gè)部分,OpenHarmony 3.1 Release 中,支持二分屏能力;

2. 兩個(gè)應(yīng)用分屏窗口具有分界線,用戶可以通過拖拽分界線同時(shí)調(diào)整兩個(gè)部分的窗口尺寸。

f12c4eb4-cc74-11ec-bce3-dac502259ad0.jpg

自由窗口模式

自由窗口是個(gè)人辦公設(shè)備的標(biāo)志性多窗口形態(tài),OpenHarmony 中的自由窗口模式具有以下特征:

1. 自由窗口的大小和位置可自由改變;

2. 同一個(gè)屏幕上可以同時(shí)顯示多個(gè)自由窗口,它們按照打開順序或者獲取焦點(diǎn)的順序在 Z 軸排布;

3. 自由窗口被點(diǎn)擊或觸摸將導(dǎo)致自由窗口的 Z 軸高度提升,并獲取焦點(diǎn)。

f1410174-cc74-11ec-bce3-dac502259ad0.jpg

OpenHarmony沉浸式能力

沉浸式能力,指的是對(duì)狀態(tài)欄、導(dǎo)航欄等系統(tǒng)窗口進(jìn)行控制,從而使用戶獲得最佳設(shè)備使用體驗(yàn)的能力。狀態(tài)欄和導(dǎo)航欄是獨(dú)立的窗口,它們由特定的系統(tǒng)應(yīng)用(通常是 System UI)進(jìn)行添加,狀態(tài)欄和導(dǎo)航欄所承載的內(nèi)容和功能不在窗口系統(tǒng)中展開,這里僅表述該窗口與應(yīng)用的窗口相關(guān)的行為。

在默認(rèn)情況下,全屏應(yīng)用和分屏應(yīng)用使用的屏幕區(qū)域?yàn)槌顟B(tài)欄導(dǎo)航欄外的可用區(qū)域。為了讓應(yīng)用能盡量使用屏幕的顯示區(qū)域,應(yīng)用可以通過沉浸式接口將狀態(tài)欄導(dǎo)航欄隱藏,即占據(jù)全屏大小的應(yīng)用的窗口大小與屏幕大小一致,分屏的應(yīng)用的窗口大小則按比例分割屏幕大小。這在進(jìn)行全屏播放視頻等場景時(shí)是非常常用的。

除了隱藏狀態(tài)欄、導(dǎo)航欄外,還可以將應(yīng)用的布局設(shè)置到狀態(tài)欄導(dǎo)航欄的下方,這樣應(yīng)用就可以作為半透明狀態(tài)欄導(dǎo)航欄的背景存在,使用戶獲得更好的體驗(yàn)。

應(yīng)用也可以獨(dú)立設(shè)置(https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-window.md#setsystembarproperties)狀態(tài)欄導(dǎo)航欄的文字顏色和背景顏色,這樣就可以使得應(yīng)用顯示時(shí)系統(tǒng)整體的界面風(fēng)格統(tǒng)一。

以上是對(duì)OpenHarmony窗口管理框架的簡單介紹。OpenHarmony 窗口管理框架和多窗口能力還在不斷持續(xù)的開發(fā)演進(jìn)中。對(duì) OpenHarmony 窗口框架感興趣的小伙伴,可以從以下鏈接獲取窗口管理代碼進(jìn)行深入了解:https://gitee.com/openharmony/windowmanager。也希望更多開發(fā)者一起加入進(jìn)來,與OpenHarmony共同成長。

有興趣進(jìn)行 OpenHarmony 應(yīng)用開發(fā)的小伙伴,也可以通過以下鏈接了解 OpenHarmony 的窗口管理相關(guān)接口:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-window.md。

審核編輯 :李倩

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

    關(guān)注

    5186

    文章

    20155

    瀏覽量

    328962
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3342

    瀏覽量

    59929
  • OpenHarmony
    +關(guān)注

    關(guān)注

    31

    文章

    3926

    瀏覽量

    20725

原文標(biāo)題:OpenHarmony 3.1 Release版本關(guān)鍵特性解析——構(gòu)建OpenHarmony窗口框架

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    大語言模型如何處理上下文窗口中的輸入

    本博客介紹了五個(gè)基本概念,闡述了大語言模型如何處理上下文窗口中的輸入。通過明確的例子和實(shí)踐中獲得的見解,本文介紹了多個(gè)與上下文窗口有關(guān)的基本概念,如詞元化、序列長度和注意力等。
    的頭像 發(fā)表于 12-03 13:48 ?209次閱讀
    大語言模型如何處理上下文<b class='flag-5'>窗口</b>中的輸入

    中科芯CKS32F107XX系列MCU的窗口看門狗介紹

    中科芯CKS32F107xx系列產(chǎn)品內(nèi)部提供兩個(gè)看門狗定時(shí)器單元,獨(dú)立型看門狗IWDG(Independent Watchdog)和窗口型看門狗WWDG(Window Watchdog),本文主要介紹WWDG的應(yīng)用,關(guān)于IWDG的詳情,請(qǐng)參看我們的IWDG微課堂內(nèi)容。
    的頭像 發(fā)表于 11-28 14:48 ?3653次閱讀
    中科芯CKS32F107XX系列MCU的<b class='flag-5'>窗口</b>看門狗<b class='flag-5'>介紹</b>

    OpenHarmony2025年度競賽訓(xùn)練營重磅開啟

    ? OpenHarmony2025年度競賽訓(xùn)練營 ? ? ? 活動(dòng)介紹 OpenHarmony競賽訓(xùn)練營 旨在引導(dǎo)高校學(xué)生進(jìn)行OpenHarmony產(chǎn)學(xué)研用,培養(yǎng)更多應(yīng)用型人才和產(chǎn)業(yè)需
    的頭像 發(fā)表于 07-16 11:51 ?720次閱讀

    技術(shù)干貨 | AD/DA動(dòng)態(tài)分析中的信號(hào)窗口處理技術(shù)

    前一章詳解了TX7006上的線性計(jì)算,AD/DA動(dòng)態(tài)分析中的傅里葉變換和動(dòng)態(tài)參數(shù)計(jì)算。本期文章將為大家繼續(xù)介紹AD/DA動(dòng)態(tài)分析中的信號(hào)窗口。
    的頭像 發(fā)表于 07-03 13:39 ?925次閱讀
    技術(shù)干貨 | AD/DA動(dòng)態(tài)分析中的信號(hào)<b class='flag-5'>窗口</b>處理技術(shù)

    第三屆大會(huì)回顧第3期 | FFRT并發(fā)框架OpenHarmony中的設(shè)計(jì)與實(shí)踐

    演講嘉賓 | 黃佑鐘 回顧整理 | 廖 ? 濤 排版校對(duì) | 宋夕明 嘉賓介紹 開發(fā)框架分論壇? 黃佑鐘 ,海思Kirin解決方案并行與異構(gòu)計(jì)算專家。 正文內(nèi)容 多任務(wù)并發(fā)能更有效地利用CPU資源
    的頭像 發(fā)表于 06-21 16:53 ?969次閱讀
    第三屆大會(huì)回顧第3期 | FFRT并發(fā)<b class='flag-5'>框架</b>在<b class='flag-5'>OpenHarmony</b>中的設(shè)計(jì)與實(shí)踐

    開源鴻蒙開發(fā)必備!OpenHarmony替換Full SDK全攻略

    本文介紹開源鴻蒙OpenHarmony替換FullSDK的方法,演示設(shè)備為觸覺智能PurplePiOH鴻蒙開發(fā)板獲取FullSD
    的頭像 發(fā)表于 06-06 18:11 ?650次閱讀
    開源鴻蒙開發(fā)必備!<b class='flag-5'>OpenHarmony</b>替換Full SDK全攻略

    鴻蒙5開發(fā)寶藏案例分享---一多窗口適配開發(fā)實(shí)踐

    **?**大家好呀!今天要跟各位鴻蒙開發(fā)者分享一個(gè)超實(shí)用的大寶藏——HarmonyOS官方那些藏在文檔里的多窗口適配案例!是不是經(jīng)常在開發(fā)時(shí)發(fā)現(xiàn)文檔里明明有解決方案,但就是找不到具體代碼參考?我也是
    發(fā)表于 06-03 15:53

    貢獻(xiàn) OpenHarmony 庫關(guān)鍵配置

    # 貢獻(xiàn) OpenHarmony 庫關(guān)鍵配置 #自研框架#ArkUI-X#三方框架#OpenHarmony#HarmonyOS ## 創(chuàng)建第三方庫 - 打開 DevEco Stud
    發(fā)表于 05-28 13:46

    KaihongOS操作系統(tǒng)FA模型與Stage模型介紹

    應(yīng)用組件共享同一個(gè)ArkTS引擎實(shí)例,這樣可以在應(yīng)用組件之間方便地共享對(duì)象和狀態(tài),同時(shí)減少復(fù)雜應(yīng)用運(yùn)行對(duì)內(nèi)存的占用。 Stage模型的設(shè)計(jì)出發(fā)點(diǎn)包括為復(fù)雜應(yīng)用而設(shè)計(jì)、支持多設(shè)備和多窗口形態(tài)、平衡
    發(fā)表于 04-24 07:27

    誠邁信創(chuàng)電腦多屏顯示功能助力提高辦公效率

    您是否也深陷這樣的日常工作狀態(tài):每天在對(duì)話框、文檔、網(wǎng)頁等十幾個(gè)窗口之間來回跳轉(zhuǎn),頻繁的切屏導(dǎo)致注意力容易分散。在數(shù)字化辦公場景中,這種「窗口焦慮」正在悄然成為當(dāng)代職場人的效率殺手,多窗口操作也成為了團(tuán)隊(duì)效能提升的隱形瓶頸。
    的頭像 發(fā)表于 04-07 11:48 ?869次閱讀

    北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開發(fā)內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)

    北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開發(fā)內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)
    的頭像 發(fā)表于 03-11 14:13 ?1561次閱讀
    北京迅為RK3568開發(fā)板<b class='flag-5'>OpenHarmony</b>系統(tǒng)南向驅(qū)動(dòng)開發(fā)內(nèi)核HDF驅(qū)動(dòng)<b class='flag-5'>框架</b>架構(gòu)

    迅為RK3568開發(fā)板篇OpenHarmony實(shí)操HDF驅(qū)動(dòng)控制LED-編寫內(nèi)核 LED HDF 驅(qū)動(dòng)程序

    接下來編譯 LED 驅(qū)動(dòng),該驅(qū)動(dòng)用于在基于華為設(shè)備框架(HDF)的系統(tǒng)中控制 LED 燈的開關(guān),完整代碼如下所示: 更多內(nèi)容可以關(guān)注:迅為RK3568開發(fā)板篇OpenHarmony
    發(fā)表于 01-17 15:13

    AI開發(fā)框架集成介紹

    隨著AI應(yīng)用的廣泛深入,單一框架往往難以滿足多樣化的需求,因此,AI開發(fā)框架的集成成為了提升開發(fā)效率、促進(jìn)技術(shù)創(chuàng)新的關(guān)鍵路徑。以下,是對(duì)AI開發(fā)框架集成的介紹,由AI部落小編整理。
    的頭像 發(fā)表于 01-07 15:58 ?936次閱讀

    鴻蒙原生頁面高性能解決方案上線OpenHarmony社區(qū) 助力打造高性能原生應(yīng)用

    Nodepool、HMrouter和DataCache 三大解決方案,并上架OpenHarmony開源社區(qū)分,分別針對(duì)應(yīng)用頁面滑動(dòng)、跳轉(zhuǎn)、首頁冷啟動(dòng)等關(guān)鍵性能場景提供高效易用的工具,助力伙伴和開發(fā)者打造
    發(fā)表于 01-02 18:00

    OpenHarmony程序分析框架論文入選ICSE 2025

      近日,ICSE 2025軟件工程實(shí)踐Track放榜,面向OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)的ArkTS程序分析基礎(chǔ)框架--方舟程序分析器(論文題目為
    的頭像 發(fā)表于 01-02 13:41 ?1858次閱讀
    <b class='flag-5'>OpenHarmony</b>程序分析<b class='flag-5'>框架</b>論文入選ICSE 2025