ネイティブ モバイル アプリにダーク モードを実装する | Mendix

メインコンテンツへスキップ

ネイティブモバイルアプリにダークモードを実装する

ブログヘッダー - ネイティブモバイルアプリにダークモードを実装する方法

現在、ほとんどの携帯電話には、ユーザーがライトモードとダークモードを切り替えるための機能が組み込まれています。ユーザーの携帯電話がすでにダークモードになっているのに、調整できずにライトモードで明るく光っているアプリがある場合、アプリを使用するユーザーの全体的なエクスペリエンスが損なわれます。このため、ネイティブモバイルアプリにダークモードを実装する方法を知っておくことが重要です。

幸いなことに Mendix多くのコードがバックグラウンドで事前に構築されているため、プロセスは簡単です。

このチュートリアルは、 Mendix モデラーバージョン 9.20。他のバージョンでは異なる場合があります。

この投稿の内容

この記事では、ダークモードを作成する方法について説明します。 Mendix ネイティブ モバイル アプリ。最終的には、ユーザーのモバイル設定に応じて、アプリが自動的にダーク モード (またはライト モード) に切り替わるようになります。携帯電話がすでにダーク モードになっている場合は、アプリもダーク モードで表示され、その逆も同様です。

この投稿の内容 NOT 自己紹介

この投稿は、ライト モードとダーク モードを切り替えるスイッチを作成する方法に関するチュートリアルではないことに注意してください。(詳細については、以下を参照してください。) アプリにダークモードを実装する方法) 今日私たちが目指しているのは、ユーザーの携帯電話がダーク モードになっているときに、アプリを自動的にダーク モード バージョンに切り替える方法です。

チュートリアル

ステップ1: カスタムテーマモジュールを作成する

カスタム テーマ モジュールを作成する場合、使用する方法は、Web アプリのカスタム テーマ モジュールを作成する方法と似ています。アプリ エクスプローラーで右クリックし、「モジュールの追加」を選択します。

ネイティブモバイルアプリのダークモードの実装_アプリエクスプローラーを右クリックしてモジュールの追加を選択

必ず認識しやすい名前に変更してください。たとえば、ブランド名が「Smith Company」の場合、テーマ モジュールの名前は「smith_theme」のようになります。この例では、モジュールの名前を「sampleapp_theme」に変更しました。

ネイティブモバイルアプリのダークモードの実装_テーマモジュール名

このモジュールを UI リソース モジュールとしてマークする必要もあります。モジュールを右クリックして、「これを UI リソース モジュールとしてマークする」を選択します。これでモジュールが緑色に変わります。

ネイティブモバイルアプリのダークモードの実装_モジュールをUIリソースモジュールとしてマークして緑色にする

これを UI リソース モジュールとしてマークすると、チームはカスタム スタイルが配置されている場所をすばやく見つけられるようになります。

カスタム テーマ モジュールを作成することは、特定のブランドに関連するすべてのスタイルを 1 か所にグループ化する効果的な方法です。このブランドに属する別のアプリで同じスタイルを再利用する必要がある場合は、カスタム テーマ モジュールをエクスポートして、新しいアプリにインポートするだけです。

ネイティブモバイルアプリでは、カスタムクラスはカスタムテーマモジュール内の「main.js」に追加されます。これは、themesource > [カスタムテーマモジュール] > main.js にあります。

ネイティブモバイルアプリのダークモードの実装_カスタムテーマモジュール内のmaindotjsにカスタムクラスが追加されます

ここでダーク モード機能も追加します。

ステップ2: ダークモードを作成するために必要なモジュールを追加する

アプリのダーク モードを作成するには、「main.js」ファイルに 2 つの項目を追加する必要があります。

まず、ファイルの先頭に「外観」モジュールを追加する必要があります。このモジュールを追加すると、アプリの優先配色を決定できます。(「外観」の詳細については、次のリンクを参照してください。 https://reactnative.dev/docs/appearance).

次に、「darkMode」変数を追加する必要があります。これは、アプリ内の特定のコンポーネントにダーク モード バージョンを実装する前に必要です。コードは次のようになります。

ネイティブモバイルアプリのダークモードの実装_ダークモード変数を追加するためのコード

ステップ3: テストする

この例では、テキストと画像を含むタブ コンテナーを作成しました。

ネイティブモバイルアプリのダークモードの実装_テキストと画像を含むタブコンテナ

アプリを実行すると、次のようになります。

ネイティブモバイルアプリのダークモードの実装_タブと見出しが追加されたアプリの実行時の外観のサンプル

注: 現在、アプリはライト モードとダーク モードの両方でこのように見えます。

タブ コンテナーにクラスを割り当てましょう。タブ コンテナーをダブルクリックし、[外観] に移動してクラスを割り当てます。この例では、クラスは「sampleTab」です。

ネイティブモバイルアプリのダークモードの実装_タブコンテナにクラスを付与する

注意: クラスはキャメルケースにする必要があります (最初の単語の最初の文字は小文字になり、その後の単語の最初の文字は大文字になります)。

「main.js」ファイルで、タブの背景色、インジケーター(選択されたタブの下線)、ラベル、アクティブ ラベルを変更します。

ネイティブモバイルアプリのダークモードの実装_タブ、インジケーター、ラベル、アクティブラベルの背景色を変更するためのコード

8行目のコメントに示されているように、ダークモードの代替スタイルを追加する形式は、変数のプロパティに darkmode ? [ダークモード] : [ライトモード] を追加することです。

すべてを保存してプロジェクトを実行します。

結果

ライトモードでの結果は次のとおりです。

ネイティブモバイルアプリのダークモードの実装_ライトモードでのアプリの例

ダークモードでの結果は次のとおりです。

ネイティブモバイルアプリのダークモードの実装_ダークモードのアプリの例

ライトモードとダークモードの両方で、色とコントラストを自由に試してみてください。こちらは、参考までにアプリのより洗練されたバージョンです。

ライトモード:

ネイティブモバイルアプリのダークモードの実装_ライトモードのより洗練されたバージョン

注: 本の画像は私が作成したものです。

ダークモード:

ネイティブモバイルアプリのダークモードの実装_ダークモードのより洗練されたバージョン

注: 本の画像は私が作成したものです。

Studio Pro モデラーのアプリ レイアウトとコードを含む、より高度なバージョンのプロジェクト ファイルは、ここからダウンロードできます。 https://www.mendix.com/wp-content/uploads/DarkModeSampleApp-2.mpk_.zip

ご学習いただきありがとうございます。このチュートリアルをお楽しみいただければ幸いです。

言語を選択してください