Themes のエクスポート

アプリケーションのテーマの作成が完了したら、アプリケーションの Kanzi Studio プロジェクトから Themes をkzbファイルにエクスポートし、ターゲットデバイスにデプロイする必要があります。Kanzi は、アプリケーションで Themes を使用するための2つの主要なアプローチを提供します: 非ベイクとベイクされた Themes です。これらのアプローチを組み合わせて、必要な結果を得ることができます。

ノンベイクド Themes

Kanzi Studio で、非ベイクされた Theme のkzbファイルをエクスポートする際、Kanzi Studio はそのプロジェクト内のすべての Themes のリソースをそのkzbファイルに含めます。ノードはリソースIDを使用して、現在選択されている Theme のリソースを取得します。アプリケーションを非ベイクされた Theme を使用するように設定すると、Kanzi はリソースIDが指すリソースを変更します。

ターゲットデバイスでは、非ベイクされた Themes はベイクされた Themes よりもストレージを少なく必要としますが、実行時により多くのメモリを使用します。非ベイクされた Themes を使用する場合、追加のkzbファイルをロードすることなくアプリケーション Theme を変更できます。

非ベイクされた Themes のエクスポート と 非ベイクされた Themes を Theme リソースパックでエクスポートする を参照してください。

ベイクされた Themes

Kanzi Studio でベイクされた Theme の kzb ファイルをエクスポートする際、Kanzi Studio はそのプロジェクト内のすべてのノードのリソース ID を、それらのリソース ID が指すリソースに置き換えます。ベイクされた Theme では、ノードはリソース ID を使用してリソースを取得するのではなく、直接リソースを取得します。

ターゲットデバイスでは、ベイクされた Themes は非ベイクされた Themes よりも多くのストレージを必要としますが、より良いパフォーマンスを提供し、実行時に使用するメモリが少なくなります。ベイクされた Themes を使用する場合、追加のkzbファイルをロードした後でのみアプリケーション Theme を変更できます。

ベイクされた Themes のエクスポート と ベイクされた Theme Group アイテムを Theme リソースパックと共にエクスポートする を参照してください。

適切なアプローチを選択する

Themes を使用することで、ベイクされたもの、ベイクされていないもの、または両方のアプローチを組み合わせたものを使用して、アプリケーションをテーマ化し、アプリケーションの目的やターゲットデバイスの能力により適したものにすることができます。

このトピックの手順では、テーマ付きプロジェクトをエクスポートする際に使用できるさまざまな構成を示します。すべての手順は、Theme Group アイテムが2つあるサンプルプロジェクト「Cluster」に基づいており、それぞれの Theme Group には2つの Themes があります。

  • バリアント Theme Group は、クラスタが使用される車のバリアントを定義します。

    • スポーツ Theme は、スポーツバリアントの車のクラスターを定義します。

    • SUV Theme は、SUVバリアントの車のクラスターを定義します。

  • カラー Theme Group は車の色を定義します。

    • ブルー Theme は、青い車のクラスターを定義します。

    • 赤い Theme は、赤い車のクラスターを定義します。

../../_images/example-themed-project.svg

非ベイクされた Themes のエクスポート

ターゲットデバイスに十分なストレージとメモリがあり、すべての Themes で使用されるリソースを含むアプリケーション全体を収めることができ、追加のkzbファイルをロードせずにアプリケーションのテーマを変更したい場合は、このアプローチを使用します。ノンベイクド Themes を参照してください。

ベイクされていない Themes をエクスポートするには:

  1. Library > Themes で各 Theme Group をダブルクリックし、Theme Editor で全ての Themes が Theme リソースのエクスポートを無効にしていることを確認してください。

    Theme リソースのエクスポートを有効にすると、Theme 列の エクスポートロケール アイコンが青色に変わり、エクスポート-ロケール-SELECTED と Kanzi Studio がその Theme で使用されているリソースをエクスポートします。

    例えば、Variant と Color Theme Group アイテムでは、すべての Themes が Theme リソースのエクスポートを無効にしていることを確認してください。

    ヒント

    Theme Editor で エクスポートロケール アイコンが Theme 列に表示されない場合、Library > Themes で Theme Group を選択し、Properties で Export Baked Usages プロパティを無効に設定してください。

    ../../_images/export-example-library-color.png ../../_images/export-example-theme-editor-variant.png ../../_images/export-example-theme-editor-color.png
  2. File > Export > Export KZB を選択します。

    ../../_images/export-kzb-binary.png

    Kanzi Studio は、すべての Theme Group アイテム内のすべての Themes のアプリケーションノードツリーとリソースを含む1つの kzb ファイルを作成し、その kzb ファイルを <ProjectName>/Application/bin ディレクトリにエクスポートします。このファイルをターゲットデバイスにデプロイしてください。

    ../../_images/non-baked.svg

ベイクされた Themes のエクスポート

このアプローチを使用して、Theme での使用に最適化されたアプリケーションを作成し、ストレージやメモリが非常に限られたターゲットデバイスで実行できるようにします。このアプローチを使用してアプリケーションのテーマを変更したい場合は、アプリケーションをシャットダウンし、実行したい Theme が組み込まれた kzb ファイルでアプリケーションを開始する必要があります。ベイクされた Themes を参照してください。

ベイクされた Themes をエクスポートするには:

  1. Library > Themes で、ベイクしたい Themes を含む Theme Group アイテムを選択し、Properties で Export Baked Usages プロパティを有効にします。

    例えば、Library > Themes で Color と Variant Theme Group アイテムを選択し、Properties で Export Baked Usages プロパティを有効にします。

    ../../_images/export-example-library-color-variant.png ../../_images/export-baked-usages-enabled.png
  2. File > Export > Export Baked Theme Binaries を選択し、Themes and Locales to Bake on Export ウィンドウで設定します。

    • Export Main Kzb を無効にする

    • 各 Theme Group に対して、いずれかを選択してください:

      • Theme Group 内のすべての Themes をベイクするために < All >。

      • < Skip Baking > がその Theme Group に Themes をベイクしないようにします。

      • < Theme group default value > は、その Theme Group にデフォルトのリソースと値をベイクします。

      • そのテーマに設定したリソースと値をベイクする特定のテーマ。

      例えば、Color Theme Group の場合、< All > を選択して、その Theme Group 内のすべての Themes をベイクします。

    Export をクリックします。

    ../../_images/export-baked-theme-binaries.png ../../_images/export-baked-theme-binaries-baked-themes.png

    Kanzi Studio は、Themes and Locales to Bake on Export ウィンドウで選択した各 Theme に対して1つの kzb ファイルを作成し、各 Theme Group と Theme の組み合わせに対して kzb ファイルを <ProjectName>/Application/bin/<ThemeGroupName>=<BakedThemeName> ディレクトリにエクスポートします。各 kzb ファイルには、その Theme のアプリケーションノードツリーとベイクされたリソースが含まれています。使用したい Themes または Theme の組み合わせを持つ kzb ファイルのみをデバイスにデプロイしてください。

    ../../_images/baked.svg

非ベイクされた Themes を Theme リソースパックでエクスポートする

Theme リソースパックは、選択された Theme のリソースのみを含む kzb ファイルです。

ターゲットデバイスのストレージまたはメモリが制限されているが、追加のkzbファイルをロードせずに実行時にアプリケーションのテーマを変更したい場合は、このアプローチを使用します。

例えば、このアプローチを使用すると、1つの Kanzi Studio プロジェクトから2つの車のバリアント(Sport と SUV)のアプリケーションを作成できます。それぞれには2つの Themes (Blue と Red)があり、追加のkzbファイルをロードすることなく切り替えることができます。

非ベイクされた Themes を Theme リソースパックと共にエクスポートするには:

  1. Library > Themes で、Themes を含む Theme Group アイテムを選択し、Theme リソースパックを作成したいものを選び、Properties で Export Baked Usages プロパティを無効にします。

    例えば、Library > Themes で Variant Theme Group を選択し、Properties で Export Baked Usages プロパティを無効にします。

    ../../_images/export-example-library-variant.png ../../_images/export-baked-usages-variant-disabled.png
  2. Library > Themes で各 Theme Group をダブルクリックし、Theme Editor で Theme の名前の横にある エクスポートロケール をクリックして、Theme リソースパックにエクスポートしたいリソースを選択します。

    Theme Group のデフォルトリソースを Theme リソースパックにエクスポートするには、Default Value 列の隣にある エクスポートロケール をクリックします。

    Theme リソースのエクスポートを有効にすると、Theme 列の エクスポートロケール アイコンが青色に変わり、エクスポート-ロケール-SELECTED と Kanzi Studio がその Theme で使用されているリソースをエクスポートします。

    例えば、Variant Theme Group で Sport と SUV Themes のエクスポートを有効にします。この例では、この設定を使用して2つの車のバリアント(Sport と SUV)のアプリケーションを作成します。それぞれが2つの Themes (Blue と Red)を持ち、追加のkzbファイルをロードすることなく切り替えることができます。

    ../../_images/export-example-theme-editor-variant-export.png
  3. File > Export > Export KZB を選択します。

    ../../_images/export-kzb-binary.png

    Kanzi Studio が作成します。

    • 1つのkzbファイルには、アプリケーションノードツリーと、複数の Theme が使用するすべてのリソース(共通リソース)が含まれており、kzbファイルを <ProjectName>/Application/bin ディレクトリにエクスポートします。

    • Theme Editor でエクスポート用に選択した各 Theme に対して1つのkzbファイルを作成し、ファイルを <ProjectName>/Application/bin/Theme_packs ディレクトリに保存します。

      各kzbファイルには、Theme が使用するリソースのみが含まれており、共通リソース(アプリケーションノードツリーと共通リソースを含むkzbファイルに保存されているもの)は含まれていません。Kanzi Studio は、Theme リソースパックkzbファイルの名前として Theme 名を使用します。

    ../../_images/non-baked-themes-with-theme-packs.svg

ベイクされた Theme Group アイテムを Theme リソースパックと共にエクスポートする

特定のセットのベイクされた Themes を持つアプリケーションを作成したい場合は、このアプローチを使用します。車のバリアント内で変更されない Themes をベイクします。例えば、このアプローチを使用すると、1つの Kanzi Studio プロジェクトから2つの車のバリアント(Sport と SUV)にデプロイできるアプリケーションを作成できます。車内で車のバリアントを切り替えたくないため、Variant Theme Group をベイクしますが、Color Theme Group はベイクせず、車内で色を変更できるようにします。この例では、Color Themes を Theme リソースパックとして保存し、その Theme のリソースを含むkzbファイルをロードした後にのみ、色 Theme を切り替えることができます。

この例は、Themes をベイクしてエクスポートしたものと、Themes をベイクしていないものを Theme リソースパックと組み合わせたものです。ベイクされた Themes のエクスポート と 非ベイクされた Themes を Theme リソースパックでエクスポートする を参照してください。

Theme リソースパックでベイクされた Theme Group をエクスポートするには:

  1. Library > Themes で、ベイクしたいリソースの Theme Group アイテムを選択し、Properties で Export Baked Usages プロパティを有効にします。

    例えば、Library > Themes で Variant Theme Group を選択し、Properties で Export Baked Usages プロパティを有効にします。

    ../../_images/export-example-library-variant.png ../../_images/export-baked-usages-variant-enabled.png
  2. Library > Themes で、非ベイクとしてエクスポートしたい Theme Group を選択し、Properties で Export Baked Usages プロパティを無効にし、Theme Editor で Theme の名前の横にある エクスポートロケール をクリックして、Theme リソースパックとしてエクスポートしたいリソースを指定します。

    Theme Group のデフォルトリソースを Theme リソースパックにエクスポートするには、Default Value 列の隣にある エクスポートロケール をクリックします。

    Theme リソースのエクスポートを有効にすると、Theme 列の エクスポートロケール アイコンが青色に変わり、エクスポート-ロケール-SELECTED と Kanzi Studio がその Theme で使用されているリソースをエクスポートします。

    例えば、Color Theme Group で Blue と Red Themes のエクスポートを有効にします。

    ../../_images/export-example-library-color.png ../../_images/export-baked-usages-color-disabled.png ../../_images/export-example-theme-editor-color-export.png
  3. File > Export > Export Baked Theme Binaries を選択し、Themes and Locales to Bake on Export ウィンドウで設定します。

    • Export Main Kzb を無効にする

    • 各 Theme Group に対して、いずれかを選択してください:

      • Theme Group 内のすべての Themes をベイクするために < All >。

      • < Skip Baking > がその Theme Group に Themes をベイクしないようにします。

      • < Theme group default value > は、その Theme Group にデフォルトのリソースと値をベイクします。

      • そのテーマに設定したリソースと値をベイクする特定のテーマ。

      例えば、すべての Themes を Theme Group にベイクするには、< All > を選択します。

    Export をクリックします。

    ../../_images/export-baked-theme-binaries.png ../../_images/export-baked-theme-binaries-baked-themes-color.png

    Kanzi Studio は、各 Theme Group と Theme の組み合わせに対して、<ProjectName>/Application/bin に1つのディレクトリを作成し、次のものを含みます:

    • Theme Group ごとに1つのkzbファイルを作成します。これは、Export Baked Usages プロパティを有効にし、Themes and Locales to Bake on Export ウィンドウでエクスポート用に選択したものです。このkzbファイルには、アプリケーションノードツリーと、複数の Theme が使用するすべてのリソース(共通リソース)が含まれており、<ProjectName>/Application/bin/<ThemeGroupName>=<BakedThemeName> ディレクトリに保存されます。

    • Theme Editor でエクスポート用に選択した各 Theme に対して1つのkzbファイルが作成されます。各kzbファイルには、Theme が使用するリソースのみが含まれ、共通リソース(メインkzbファイルに保存されているもの)は含まれず、<ProjectName>/Application/bin/<ThemeGroupName>=<BakedThemeName>/Theme_packs ディレクトリにファイルが保存されます。Kanzi Studio は、Theme リソースパックkzbファイルの名前に Theme 名を使用します。

    ../../_images/baked-with-theme-packs.svg

エクスポートされたファイルを削除しています

Themes をエクスポートすると、大量のファイルやディレクトリがすぐに生成されることがあります。プロジェクトからエクスポートされたすべての kzb ファイルを完全に削除するには、File > Export > Delete Exported Binaries を選択します。

../../_images/delete-exported-binaries.png

関連項目

チュートリアル: アプリケーションにテーマを適用する

アプリケーションのテーマ設定

Themes を使用する