精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

沉浸式界面開發—OpenHarmony

系統 OpenHarmony
沉浸式的設置最好放在Ability的OnWindowStageCreate的生命周期里,此時剛好可以獲取窗口的信息,放在頁面頁面生命周期里會出現窗口大小不一致,影響體驗。

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

場景說明

沉浸式界面通常是指全屏顯示,即當前畫面占據整個屏幕。畫面放大的同時,讓用戶擺脫無關信息的干擾,帶給用戶沉浸式的體驗。常見的場景有:視頻播放、游戲等。本例即為大家介紹如何開發沉浸式界面。

效果呈現

本例中的沉浸式界面有三種實現方式,對應效果如下:

方案一:顏色背景鋪滿

方案二:圖片背景鋪滿

方案三:背景鋪滿的同時、狀態欄不可見

沉浸式界面開發(OpenHarmony)-開源基礎軟件社區

沉浸式界面開發(OpenHarmony)-開源基礎軟件社區

沉浸式界面開發(OpenHarmony)-開源基礎軟件社區

運行環境

本例基于以下環境開發,開發者也可以基于其他適配的版本進行開發:

  • IDE: DevEco Studio 3.1 Beta2
  • SDK: Ohos_sdk_public 3.2.11.9(API Version 9 Release)

實現思路

如果一個應用想要獲得沉浸式的體驗,開發者可以通過以下三種方式進行實現:

  • 顏色背景通鋪:使應用頁面的背景色和狀態欄、導航欄的背景色一致。可通過setWindowSystemBarProperties進行設置。
  • 圖片背景通鋪:將狀態欄、導航欄的背景色設置為透明以便呈現應用界面的背景,同時通過 windowClass.on接口獲取到狀態欄、導航欄的區域信息,進行規避處理,以免狀態欄、導航欄的內容遮擋住應用內容。
  • 隱藏導航欄和狀態欄:使用setWindowSystemBarEnable設置導航欄和狀態欄為隱藏狀態。

說明:
沉浸式的設置最好放在ability的onWindowStageCreate的生命周期里,此時剛好可以獲取窗口的信息,放在頁面頁面生命周期里會出現窗口大小不一致,影響體驗。

下文將分別介紹這三種方案的具體開發步驟。

開發步驟

顏色背景通鋪

此方案通過調用setWindowSystemBarProperties接口將狀態欄和導航欄的背景色設置為跟應用窗口相同的顏色,以達到界面全屏的效果。

具體代碼如下:

import window from '@ohos.window';
import common from '@ohos.app.ability.common';
 
@Entry
@Component
struct Type2 {
  @State message: string = 'Hello World'
  // 獲取UIAbility上下文
  context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext
  async setSystemBar() {
    // 獲取當前應用窗口
    let windowClass:window.Window = await window.getLastWindow(context)
    // 將狀態欄和導航欄的背景色設置為跟應用窗口相同的顏色
    await windowClass.setWindowSystemBarProperties({
      navigationBarColor: "#00FF00",
      statusBarColor: "#00FF00",
      navigationBarContentColor: "#00FF00",
      statusBarContentColor: "#00FF00"
    })
  }
 
  aboutToAppear() {
    this.setSystemBar()
  }
 
  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

此方案的優勢在于不需要處理應用窗口和狀態欄、導航欄窗口的遮擋關系,因為此方案沒有使用setWindowLayoutFullScreen 接口設置沉浸式布局,所以三個窗口是平鋪的,不會重疊。劣勢在于無法將應用的背景圖等信息延伸到狀態欄、導航欄窗口中。適用于扁平化設計風格的應用。

圖片背景通鋪

這種方案可以實現圖片背景的通鋪,同時又能避免狀態欄和導航欄的內容跟應用內容相互遮擋,導致顯示效果異常。
為了能讓應用的有效顯示范圍避開系統的狀態欄和導航欄,以免內容重疊,我們可以通過windowClass.on(type: ‘avoidAreaChange’, callback: Callback<{AvoidAreaType, AvoidArea}>) 獲取系統規避區域的大小,并對這一塊區域做出相應的規避。
其中回調參數AvoidArea是規避區域,可以通過其獲取規避區域的具體范圍;AvoidAreaType是規避區域的類型其取值如下,示例中需要規避的狀態欄和導航欄屬于TYPE_SYSTEM類型。

名稱

說明

TYPE_SYSTEM

0

表示系統默認區域。

TYPE_CUTOUT

1

表示劉海屏區域。

TYPE_SYSTEM_GESTURE9+

2

表示手勢區域。

TYPE_KEYBOARD9+

3

表示軟鍵盤區域

具體代碼如下:

page代碼

// index.ets
@Entry
@Component
struct Type3 {
  @State message: string = 'Hello World'
  @StorageLink("topHeight") topHeight: number = 0
  @StorageLink("bottomHeight") bottomHeight: number = 0
 
  build() {
    Column() {
      // 在界面頂部放置一個Row組件,用于占位
      Row() {
 
      }
      .width("100%")
      // 設置Row組件的高度為狀態欄的高度,可避免界面內容與狀態欄內容重疊
      .height(px2vp(this.topHeight))
      Row() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .position({ x: 0, y: 0 })
      }
      .width("100%")
      .flexGrow(1)
      // 在界面底部放置一個Row組件,用于占位
      Row() {
 
      }
      .width("100%")
      // 設置Row組件的高度為導航欄的高度,可避免界面內容與導航欄內容重疊
      .height(px2vp(this.bottomHeight))
    }
    .backgroundImage($r("app.media.icon"))
    .backgroundImageSize(ImageSize.Cover)
    .width("100%")
    .height("100%")
  }
}

ability代碼

// MainAbility.ts
import window from '@ohos.window';

async function enterImmersion(windowClass: window.Window) {
    // 獲取狀態欄和導航欄的高度
    windowClass.on("avoidAreaChange", ({ type, area }) => {
        if (type == window.AvoidAreaType.TYPE_SYSTEM) {
            // 將狀態欄和導航欄的高度保存在AppStorage中
            AppStorage.SetOrCreate<number>("topHeight", area.topRect.height);
            AppStorage.SetOrCreate<number>("bottomHeight", area.bottomRect.height);
        }
    })
    // 設置窗口布局為沉浸式布局
    await windowClass.setWindowLayoutFullScreen(true)
    await windowClass.setWindowSystemBarEnable(["status", "navigation"])
    // 設置狀態欄和導航欄的背景為透明
    await windowClass.setWindowSystemBarProperties({
        navigationBarColor: "#00000000",
        statusBarColor: "#00000000",
        navigationBarContentColor: "#FF0000",
        statusBarContentColor: "#FF0000"
    })
}

export default class MainAbility extends Ability {
  ...
  async onWindowStageCreate(windowStage: window.WindowStage) {
    let windowClass:window.Window = await windowStage.getMainWindow()
    await enterImmersion(windowClass)
    windowStage.loadContent('pages/page5')
  }
  ...
}

隱藏狀態欄、導航欄

隱藏狀態欄、導航欄可以達到完全沉浸的效果,使用setWindowSystemBarEnable接口即可實現。

具體代碼如下:

import window from '@ohos.window';
import common from '@ohos.app.ability.common';

@Entry
@Component
struct Type3 {
  @State message: string = 'Hello World'
  context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext
  async setSystemBar() {
	let windowClass = await window.getLastWindow(context)
	//設置導航欄,狀態欄不可見
	await windowClass.setWindowSystemBarEnable([])
  }

  aboutToAppear() {
	this.setSystemBar()
  }

  build() {
	Row() {
	  Column() {
		Text(this.message)
		  .fontSize(50)
		  .fontWeight(FontWeight.Bold)
	  }
	  .width('100%')
	}
	.backgroundColor("#ffee33")
	.height('100%')
  }
}

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2016-11-18 08:41:23

2022-11-23 14:47:29

北向開發鴻蒙

2022-08-23 16:07:02

ArkUI鴻蒙

2022-04-15 11:32:20

IDE工具鴻蒙操作系統

2022-09-02 15:17:04

ArkUI鴻蒙

2023-04-25 16:30:58

設備開發鴻蒙

2017-02-17 11:00:57

狀態欄Android

2022-08-08 19:46:26

ArkUI鴻蒙

2022-03-16 15:30:25

barAndroid開發者

2022-02-17 18:08:04

OpenHarmon應用開發鴻蒙

2022-09-26 15:16:03

ArkUITS

2021-10-28 19:23:27

界面嵌入式 UI

2023-04-21 15:54:08

應用開發鴻蒙

2022-10-12 15:00:02

設備開發應用開發

2022-03-02 16:08:31

Harmony應用開發鴻蒙

2024-04-09 09:34:36

鴻蒙系統燒錄操作系統

2023-02-20 15:38:38

2023-02-20 15:29:14

分布式相機鴻蒙

2023-02-21 16:41:41

分布式相機鴻蒙

2022-11-03 15:04:44

VRAR數字化轉型
點贊
收藏

51CTO技術棧公眾號

成人免费黄色在线| 日韩欧美三级| 色婷婷精品久久二区二区蜜臀av| 蜜桃传媒视频麻豆第一区免费观看| 午夜精品久久久久久久蜜桃| 色狮一区二区三区四区视频| 日韩欧美一级片| 丰满人妻中伦妇伦精品app| 秋霞午夜在线观看| 菠萝蜜视频在线观看一区| 国产福利视频一区二区| 人与动物性xxxx| 午夜精品久久久久久99热| 国产精品久久AV无码| 日韩一级二级 | 超碰人人cao| 午夜裸体女人视频网站在线观看| 国产精品第五页| 狠狠色噜噜狠狠色综合久| 中文字幕观看视频| 国产欧美一级| 欧美成人免费网| 蜜桃av乱码一区二区三区| 99久热这里只有精品视频免费观看| 91久久精品一区二区二区| 久操手机在线视频| 国产黄在线观看| 波多野结衣91| 亚洲自拍偷拍色图| 国产又粗又猛视频| 老**午夜毛片一区二区三区| 久久久久亚洲精品国产| 欧美丰满熟妇bbbbbb| 精品久久久久久久| 日韩精品www| 亚洲av成人精品一区二区三区| 亚洲图片小说区| 色88888久久久久久影院野外| 国产美女主播在线| 中文在线手机av| 中文字幕视频一区| 五月天亚洲综合情| 国产资源在线看| 久久久综合精品| 久久综合毛片| 免费在线稳定资源站| hitomi一区二区三区精品| 国产超碰91| 成人福利小视频| 国产九九视频一区二区三区| 亚洲一区二区三区成人在线视频精品 | 无码人妻精品一区二区三区蜜桃91 | 菠萝蜜视频在线观看一区| 91丝袜脚交足在线播放| 99国产精品久久久久99打野战| 久久国产尿小便嘘嘘| 国产精品成人国产乱一区 | 欧美日韩第一区日日骚| 天天插天天操天天射| 久久91导航| 欧美综合在线视频| 亚洲免费999| 亚洲成人1区| 69堂成人精品免费视频| 91精产国品一二三产区别沈先生| 国产亚洲高清一区| 91精品国产福利| 亚洲一级Av无码毛片久久精品| 日韩在线观看一区二区三区| 精品久久国产97色综合| 黄色网址在线视频| 亚洲人成精品久久久| 亚洲性猛交xxxxwww| 1024手机在线观看你懂的| 欧美1级片网站| 久久天堂电影网| 久久久99精品| 午夜在线一区| 国产欧美日韩专区发布| av在线亚洲天堂| av网站一区二区三区| 欧美日韩一区二区三区免费| 1769视频在线播放免费观看| 日韩码欧中文字| 欧美一区二区激情| 国产精品高清乱码在线观看| 欧美放荡的少妇| 中国黄色片视频| 欧美精品尤物在线观看| 欧美日本亚洲视频| 特级西西444www大精品视频免费看| 麻豆精品一区二区| 成人女人免费毛片| 国产原创av在线| 亚洲综合久久久| 久久久精品麻豆| 成人中文字幕视频| 中文字幕欧美日韩在线| 亚洲一区二区91| 久久精品国产99国产精品| 粉嫩高清一区二区三区精品视频| 国产一级免费在线观看| 亚洲制服丝袜一区| 久久99999| 精品精品精品| www.日韩.com| 中文字幕免费观看| 国产99久久久国产精品潘金| 日韩精品在在线一区二区中文| 色呦呦网站在线观看| 在线中文字幕一区| 国产在线不卡av| 天天射—综合中文网| 全球成人中文在线| 高清国产mv在线观看| 国产精品福利一区| 成人在线观看黄| 国产成人在线中文字幕| 久久久精品影院| 黄色污污视频软件| 成人高清视频在线| 日韩专区第三页| 亚洲日本中文| 日韩中文字幕在线视频| 亚洲精品男人的天堂| 成人精品电影在线观看| 男人天堂成人网| 日韩一区精品| 亚洲欧美精品在线| jizz国产免费| 国产福利视频一区二区三区| 亚洲免费久久| 8av国产精品爽爽ⅴa在线观看| 日韩精品免费综合视频在线播放| 免看一级a毛片一片成人不卡| 久久99久久99精品免视看婷婷| 日韩精品欧美专区| 欧亚一区二区| 国产亚洲精品va在线观看| 毛片基地在线观看| 91日韩精品一区| 国产aaa一级片| 亚洲美女15p| 日本精品中文字幕| 国产精品影院在线| 色av成人天堂桃色av| 色哟哟精品观看| 久久精品盗摄| 欧美日韩一区综合| 日韩在线免费| 日韩中文字幕不卡视频| 亚洲最大成人av| 国产精品成人午夜| 亚洲日本黄色片| 中文字幕午夜精品一区二区三区| 91最新在线免费观看| 伊人春色在线观看| 亚洲精品成人久久| 毛片视频网站在线观看| 91免费视频网| 日本999视频| 久久影院一区| 7777精品伊久久久大香线蕉语言| 污片视频在线免费观看| 亚洲а∨天堂久久精品9966| 国产成年人免费视频| 成人国产精品免费观看视频| 黄色片一级视频| 日韩精品欧美| 9a蜜桃久久久久久免费| 涩涩av在线| 一区二区三区日韩在线| 96日本xxxxxⅹxxx17| 亚洲在线观看免费视频| 成人免费av片| 久久99精品一区二区三区三区| 蜜臀av性久久久久蜜臀av| 国产+成+人+亚洲欧洲在线 | 成人免费视频毛片| 国产欧美日韩三区| 两性午夜免费视频| 亚洲精品九九| 亚洲一区二区三区精品在线观看| 久久gogo国模啪啪裸体| 欧美一级高清免费| 日本不卡视频| 亚洲国产成人久久综合一区| 99re这里只有精品在线| 日韩毛片在线免费观看| 鲁大师私人影院在线观看| 免费成人在线影院| www.射射射| 日韩在线精品| 精品国产电影| 先锋影音一区二区| 2019中文字幕在线免费观看| 永久免费在线观看视频| 亚洲第一二三四五区| 一级做a爰片久久毛片16| 黄色一区二区在线| 少妇的滋味中文字幕bd| 99精品久久99久久久久| 毛片毛片毛片毛| 久久一二三四| 成人午夜精品久久久久久久蜜臀| 久久高清免费| 欧美极品jizzhd欧美| 五月亚洲婷婷| 成人欧美一区二区三区在线湿哒哒| 欧美办公室脚交xxxx| 欧美成人三级视频网站| 婷婷视频在线| 在线成人激情黄色| 三级视频网站在线| 精品国产亚洲在线| 99精品在线看| 欧美久久一区二区| 波多野结衣不卡| 狠狠躁夜夜躁人人爽天天天天97 | 3d动漫精品啪啪一区二区竹菊 | 91精品国产高清一区二区三区 | 国产98色在线|日韩| 一级黄色录像在线观看| 日韩不卡在线观看日韩不卡视频| 欧美日韩国产123区| 久操视频在线观看免费| 97se亚洲国产综合在线| 欧亚乱熟女一区二区在线| 国产精品资源在线| 在线观看国产一级片| 美女国产一区| 亚洲国产aⅴ天堂久久| 欧美在线观看一二区| 日韩最新在线视频| 岛国视频一区免费观看| 91网址在线播放| 日韩精品无码一区二区| 免费黄色在线| 日韩精选在线| 激情深爱一区二区| 亚洲综合成人在线视频| 欧美乱大交xxxxx另类电影| 丁香六月色婷婷| 欧美一区二区视频在线观看2022 | 欧美影院一区二区三区| 少妇高潮av久久久久久| 狠狠久久五月精品中文字幕| 少妇一级淫片免费放中国 | 欧美日韩亚洲一二三| 国产精品久久久久久模特 | 樱花www成人免费视频| 久久精品高清| 日韩视频在线免费播放| 国产精品毛片一区二区在线看| 中文字幕一区二区三区四区五区人 | 妺妺窝人体色www在线下载| 一区二区在线电影| 精品肉丝脚一区二区三区| 亚洲第一激情av| 国产精品自拍99| 欧美亚洲丝袜传媒另类| 一级特黄特色的免费大片视频| 91精品国产综合久久香蕉麻豆| av天堂一区二区三区| 久久国产精品亚洲人一区二区三区| 日韩免费不卡av| 成人亚洲免费| 亚洲在线观看视频网站| 国产精品香蕉| 欧美一区二区三区在线播放 | 日本人妻伦在线中文字幕| 亚洲视频福利| 无码人妻丰满熟妇区五十路百度| 久久亚洲欧洲| 青青草原播放器| 成人18视频在线播放| 国产又粗又猛又爽视频| 日韩美女啊v在线免费观看| 国产乡下妇女做爰| 日本道色综合久久| 国产精品伊人久久 | 香港三日本三级少妇66| 色黄久久久久久| 欧美xxxxhdvideosex| 国产成人精品在线播放| 精品一区二区三区中文字幕视频| 九九热久久66| 婷婷亚洲五月| av天堂永久资源网| 国内一区二区在线| 亚洲国产第一区| 亚洲图片欧美激情| 青青草免费观看视频| 欧美一级免费观看| 免费动漫网站在线观看| 欧美成人午夜免费视在线看片| 日韩欧美另类一区二区| 99高清视频有精品视频| 欧美亚洲精品在线| 免费看日本毛片| 国产一区不卡精品| 欧美熟妇激情一区二区三区| 亚洲综合精品久久| 亚洲中文字幕在线一区| 日韩高清a**址| 性xxxfreexxxx性欧美| 国产精品女主播视频| 极品尤物一区| 99视频精品全部免费看| 天堂va蜜桃一区二区三区漫画版| 又黄又色的网站| 亚洲欧洲国产日本综合| 无码人妻精品一区二区三区9厂| 亚洲成人精品视频| 久草免费在线| 国产欧美一区二区三区在线| 欧美在线导航| 久久精品视频16| 懂色av一区二区三区免费看| 婷婷社区五月天| 欧美性生活大片视频| 亚洲欧洲综合在线| 欧美激情视频免费观看| 精品国产三级| 一本一生久久a久久精品综合蜜| 日韩欧美一区二区三区在线观看| 日韩免费高清av| 男人av在线| 97国产精品视频人人做人人爱| 亚洲啊v在线免费视频| 艳母动漫在线观看| 久久成人18免费观看| 男人操女人动态图| 日韩欧美在线第一页| 天天摸天天干天天操| 久久青草精品视频免费观看| 亚洲精品aⅴ| 国产av熟女一区二区三区| 国产乱码精品一区二区三| 少妇人妻丰满做爰xxx| 欧美丰满一区二区免费视频| 国产原创视频在线观看| 成人啪啪免费看| 午夜精品久久99蜜桃的功能介绍| 99精品视频国产| 亚洲制服丝袜av| 国内爆初菊对白视频| 亚洲91精品在线观看| 欧美巨大xxxx| 久久久久免费精品| 国产精品情趣视频| 一级久久久久久久| 久久夜色精品国产欧美乱| 国产不卡精品| 欧美日韩激情四射| 99久久er热在这里只有精品66| 日本少妇裸体做爰| 亚洲精选在线观看| 精品日本视频| 国产在线拍揄自揄拍无码| 国v精品久久久网| 天天操天天摸天天干| 亚洲一级一级97网| 亚洲一区二区小说| www插插插无码免费视频网站| va亚洲va日韩不卡在线观看| 亚洲国产成人精品女人久久| 中文字幕精品视频| 麻豆精品国产| 黄色一级视频片| 欧美韩日一区二区三区| 国产aⅴ爽av久久久久成人| 久久久中精品2020中文| 欧美**vk| 一个人看的视频www| 精品久久久久久中文字幕一区奶水| 国模精品一区二区| 91中文字精品一区二区| 一区二区91| 美女三级黄色片| 亚洲国产天堂久久综合网| 精品视频一区二区三区四区五区| 亚洲人一区二区| 99视频国产精品| 依依成人在线视频| 久久久视频精品| 奇米影视亚洲| 超碰caoprom| 欧美日韩久久不卡| 国产高清视频色在线www| 亚洲 国产 日韩 综合一区| 成人激情黄色小说| 中文字幕av资源| 久久久欧美一区二区| 日韩精品二区| 亚洲精品视频大全| 日韩区在线观看| 91av一区| 亚洲国产欧美久久| 日韩av影片|