HarmonyOS NextにおけるCangjie開発言語のフルスクリーンモードの詳細解説

合集 - Cangjieチュートリアル(31) 1.Cangjie開発言語におけるログ出力問題の詳細解説05-21 2.HarmonyOS Cangjie開発言語実践チュートリアル:ショッピングモールアプリのホームページ実装05-22 3.HarmonyOS Cangjie開発言語実践チュートリアル:ページ遷移とパラメータ転送05-25 4.HarmonyOS Cangjie言語開発チュートリアル:ページとコンポーネントのライフサイクル05-28 5.HarmonyOS Cangjie言語開発実践チュートリアル:ショッピングカートページ06-03 6.HarmonyOS Cangjie言語開発実践チュートリアル:ショッピングモールログインページ06-04 7.HarmonyOS Cangjie言語開発実践チュートリアル:ショッピングモール検索ページ06-05 8.HarmonyOS Cangjie言語開発チュートリアル:Cangjie言語における状態ストレージ06-06 9.HarmonyOS Cangjie言語開発実践チュートリアル:ショッピングモール個人センターページ06-07 10.HarmonyOS NextにおけるCangjie開発言語のアニメーションの詳細解説06-08 11.HarmonyOS Next Cangjie言語開発実践チュートリアル:店舗詳細ページ06-09 12.HarmonyOS Next Cangjie言語開発実践チュートリアル:プルダウンリフレッシュとプルアップロード06-10 13.HarmonyOS Next Cangjie言語開発実践チュートリアル:注文リスト06-11 14.HarmonyOS NEXTシステムにおけるArkTSとCangjieの混合開発の詳細解説06-12 15.HarmonyOS Next Cangjie言語開発実践チュートリアル:注文詳細06-13 16.HarmonyOS Next Cangjie言語開発実践チュートリアル:設定ページ06-15 17.HarmonyOS Next Cangjie言語開発実践チュートリアル:メッセージリスト06-16 18.HarmonyOS Next Cangjie言語開発実践チュートリアル:チャットページ06-17 19.HarmonyOS Next Cangjie言語開発実践チュートリアル:遅延ロード06-18 20. HarmonyOS NextにおけるCangjie開発言語のフルスクリーンモードの詳細解説 06-19 21.HarmonyOS NEXTにおけるCangjie開発言語のグローバルポップアップの詳細解説06-23 22.Cangjie開発言語でのデータベース使用方法06-24 23.HarmonyOS NEXT Cangjie言語開発実践ケース:銀行アプリ06-26 24.HarmonyOS NEXT Cangjie言語開発によるドローアプリ実装ケース06-27 25.HarmonyOS NEXT Cangjie言語開発実践ケース:シンプルな音楽プレーヤーページ06-27 26.HarmonyOS NEXT Cangjie言語開発実践ケース:動的広場06-28 27.HarmonyOS NEXT Cangjie言語開発実践ケース:画像プレビューツール06-28 28.HarmonyOS NEXT Cangjie言語開発実践ケース:フィットネスアプリ06-29 29.HarmonyOS NEXT Cangjie言語開発実践ケース:小さくて美しい旅行アプリ06-29 30.HarmonyOS NEXT Cangjie言語開発実践ケース:フードデリバリーアプリ06-30 31.HarmonyOS NEXT Cangjie言語開発実践ケース:映画アプリ06-30 閉じる 皆さん、こんにちは。今日はCangjie開発言語におけるフルスクリーンモードについてご紹介します。

ArkTSと同様に、Cangjieの新規プロジェクトはデフォルトで非フルスクリーンモードです。アプリの色が豊富な場合、画面上部と下部に余白が表示されることがあります。これはシステムが自動的にカメラ領域とナビゲーションバー領域を避けているためです。

しかし、通常はこれらの余白は必要なく、アプリが画面全体を占有してほしい場合があります。このような場合、インmersiveモードを使用する必要があります。以下に具体的な実装方法を共有します。

まず、アプリのmain_ability.cjファイルのonWindowStageCreateメソッドで、フルスクリーンモードを設定するには、メインウィンドウを取得してからフルスクリーンを設定します。実装コードは以下の通りです:

`mainWindow = windowStage.getMainWindow()mainWindow.setWindowLayoutFullScreen(true)`

このコードを実行すると、画面がアプリで完全に占有されていることがわかります。しかし、新しい問題が発生します。システムに自動的に避けるのを許可しない場合、自分で上下のカメラ領域とナビゲーションバー領域を避ける必要があります。

これらの領域を避けるには、まずそのサイズ、主に高さを知る必要があります。同じメソッド内で、上部避ける領域を取得する方法は以下の通りです:

`let topAvoidArea = mainWindow.getWindowAvoidArea(AvoidAreaType.TYPE_SYSTEM)let topHeight = topAvoidArea.topRect.height`

topHeightは上部避ける領域の高さです。下部避ける領域の取得方法は少し異なり、個別に取得する必要があります:

`let bottomAvoidArea = mainWindow.getWindowAvoidArea(AvoidAreaType.TYPE_NAVIGATION_INDICATOR)let bottomHeight = bottomAvoidArea.bottomRect.height`

その後、topHeightとbottomHeightを保存し、アプリの他の場所で使用するために取得できます:

`AppStorage.setOrCreate('topAvoidHeight', topHeight.toString())AppStorage.setOrCreate('bottomAvoidHeight', bottomHeight.toString())`

ここでは文字列型で保存することをお勧めします。Int64型を使用した場合、問題が発生することがあります。

このようにして、画面全体を占有し、かつ遮られないアプリを作成できます。

また、一部の状況では画面サイズが必要になる場合があります。画面サイズを取得する方法は以下の通りです:

`let windowProperties = mainWindow.getWindowProperties()let windowRect = windowProperties.windowRectAppLog.info('画面幅: ' + windowRect.width.toString())AppLog.info('画面高: ' + windowRect.height.toString())`

最後に注意すべき点として、上記のコードで取得されるサイズの単位はpxです。使用する際は必要に応じて変換してください。

今日の内容は以上です。ご清聴ありがとうございました。##HarmonyOS言語##Cangjie##ショッピング#

タグ: HarmonyOS Cangjie フルスクリーンモード インmersiveモード ウィンドウ管理

5月19日 13:35 投稿