モデル駆動型アプリの見た目をよくしよう！


モデル駆動型アプリは速く開発ができるんですが、大体の形が決まっているということで、もともとの見た目はシンプル、、というのがちょっとさみしいところです😢

そんなモデル駆動型アプリをちょっとイケてる見た目にする簡単な方法をこちらでご紹介します！

- [テーマを設定する](https://qiita.com/skuramoto/items/be538b70643a798339ef#%E3%83%86%E3%83%BC%E3%83%9E%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B)
- [モダンデザインを適用する](https://qiita.com/skuramoto/items/be538b70643a798339ef#%E3%83%A2%E3%83%80%E3%83%B3%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%92%E9%81%A9%E7%94%A8%E3%81%99%E3%82%8B)
- [カスタムページを作る](https://qiita.com/skuramoto/items/be538b70643a798339ef#%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%92%E4%BD%9C%E3%82%8B)
- [Webリソースで画像を入れる](https://qiita.com/skuramoto/items/be538b70643a798339ef#web%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%A7%E7%94%BB%E5%83%8F%E3%82%92%E5%85%A5%E3%82%8C%E3%82%8B)

- [PCF Galleryを使用する](https://qiita.com/skuramoto/items/be538b70643a798339ef#pcf-gallery%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B)

# テーマを設定する
実はモデル駆動型アプリは、アプリの画面上にある帯の色やロゴ、ビジネスプロセスフローの色、リンクの色などを変えることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/8929300f-76d2-6445-fd96-e951ed973db7.png)

::: note warn
後述する「モダンデザインを適用する」は「テーマを設定する」で設定した帯の色やビジネスプロセスフローの色は無効になります。（ロゴは影響を受けません。）
どちらを優先するかは概要を確認したうえで決めてみてください。
:::

## 設定方法
モデル駆動型アプリを再生して、左上の歯車マークをクリックします。
表示されるメニューで[詳細設定]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/4f7dfa77-a845-e629-0d1b-c1085685a91a.png)

表示される画面のリボンで下矢印[▽]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/4aef6f8e-f5c8-87d9-f9b0-8e14e6892476.png)

[カスタマイズ]>[カスタマイズ]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/57dd83a5-2bab-4410-6665-6c4e5dbe7467.png)

[テーマ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/3b4ed476-3462-4bbd-313b-3cce44541382.png)

[新規]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/7ae14e31-9aed-d5b3-d09d-e976960cb24d.png)

ロゴの設定をしましょう。
ロゴ：アプリの右上に移っているロゴの画像

🔍マークを押して、[新規]をクリックします。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/aaa1c2d7-ee47-d8ae-a676-7f693ff5dc8e.png" width=70%>

名前と形式を選んで使いたい画像をアップロードします。
形式はPNG,JPG,GIF,SVGなどを選ぶことができます。
入力項目を入れたら、[上書き保存]します。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/d71f2dac-1352-2384-711b-e5b816f547d1.png" width=70%>


[公開]します。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/29fa38e7-27bb-6a3b-c035-91ee0e1175f3.png" width=70%>

今回、最近著作権を失ったプーさんのフリー素材を使用して、パワポで以下のような画像を作りました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/ceb0cb86-9e88-7c28-80fb-777a2aa34a4f.png" width=70%>

ウィンドウは[×]で閉じ、もう一度、[ロゴ]の🔍マークをクリックし、項目をスクロールします。[他のレコードの検索]をクリックします。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/49e54a0d-3121-6b47-f62c-f54a624b85c2.png" width=100%>

検索バーで先ほど付けた名前で検索します。該当のものを選択し、[追加]ボタンをクリックします。

::: note warn
もし、検索して出てこないようであればテーマの画面を一度[×]で閉じて再度開いてみて下さい。
:::

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/1fd86f28-dd79-2f61-5ceb-bb03ea024287.png" width=60%>

テーマ名を設定し、以下のように色をsRGBで指定します。
[上書き保存]します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/90bc7efb-f6d9-455e-0132-77d2a411a934.png" width=80%>

色については、私は以下のようなサイトを参考にしてます。
https://www.color-sample.com/

[テーマの公開]をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/a5ccf626-a679-2f6a-a884-94c2ab418ab5.png)

モデル駆動型アプリを開き、何度かブラウザをリロードすると、テーマが反映されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/8fcd7815-9c61-c516-698d-101156f20aca.png)

# モダンデザインを適用する
イケてないといいましたが、実は少し前に、モデル駆動型アプリのデザインが変わることが発表されました。
こちらの新しいデザイン、前よりちょっとイケてます！

セクションごとにシャドーが入って立体感が出てます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/901d3090-134d-e0bc-eca9-86e928c91ce8.png)

ビジネスプロセスフローも立体感がでて、中身のボタンもモダンになってます。
テキスト列や、検索列など一部の列は入力箇所をクリックするとハイライトされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/07bdf6f8-8558-66ee-f0a0-a81052b4a6aa.png)

こちらは(2023/04)現在、アプリ毎に設定をしていただく必要があります。

::: note warn
「モダンデザインを適用する」と、「テーマを設定する」で設定した帯の色やビジネスプロセスフローの色は無効になります。
テーマカラーを優先したい場合はこちらをオンにしないでください！（ロゴは影響を受けません。）
:::

## 設定方法
モデル駆動型アプリの編集画面を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/3cc8f06e-8e40-7241-c7f3-f884cedae544.png)

「新しいデザインと操作性を試す (プレビュー)」が該当項目です。
現在はこちらをぽちっと押していただくと、モダンデザインでモデル駆動型アプリを使うことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/8f7dbb5a-4ff2-6f44-9257-63644e7261ca.png)

忘れずに[公開]してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/e22d939b-c5e7-26a7-7c9c-e46baafbd65a.png)


# カスタムページを作る
実は、モデル駆動型アプリはキャンバスアプリを埋め込むことができます。
これをカスタムページといいます。
すべてのページをカスタムページで作るのは大変なので、例えばホーム画面をカスタムページで作るなどすると、盛り上がりそうですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/8a8d257d-f29d-d356-d302-bfdbb4cf53da.png)

## 設定方法
カスタムページの作成方法は以下の記事でご紹介してます。
ぜひ試してみてください。

https://qiita.com/skuramoto/items/fce8d47ab6a979175f4e#%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%9A%E3%83%BC%E3%82%B8%E4%BD%9C%E6%88%90%E6%96%B9%E6%B3%95

# Webリソースで画像を入れる
こちらはフォーム画面でのカスタマイズになります。
フォーム画面に以下のような画像を入れることができるのでそれを利用してデザインをよくしてみましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/3fb65d2e-8aa7-f650-9db0-d9eb97b6425a.png)


## 設定方法
フォームの編集画面を開きます。
真ん中のプレビュー画面で画像を挿入したいセクションをクリックします。

左のサイトマップにて、[コンポーネント]>[表示]>[画像Webリソース]をクリックします。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/e70a9ace-2c5d-19eb-3f31-27198384d82e.png" width=70%>

[新しいWebリソース]を選択します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/27c989b2-78da-6fe1-bfc3-fd5029a4d4e7.png" width=70%>

メニューで「ファイルを選択」ボタンをクリックし、ファイルをアップロードします。
表示名、名前（英語で設定）、種類を設定します。
モバイルで使う可能性がある場合は「モバイルで有効にする」もONにしましょう。
設定が終わったら「保存して公開」をクリックします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/65556c5f-43b8-ce81-146f-ee100cd8ccac.png" width=50%>

今回は以下のような画像をPowerPointで作成しました。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/b55195ad-8077-c633-929b-4c4a4a4556b4.png" width=50%>

追加したいWebリソースを選択し、[追加]ボタンをクリックします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/66f2cd8a-d35e-2231-f341-f572a3d6623a.png" width=50%>

挿入されるとサイズが大きいので右のプロパティで以下の項目を設定します。
- コンポーネントの高さ
- 垂直方向の位置合わせ
- 水平方向の位置合わせ
私はそれぞれ、「１行」、「Top」、「Left」に設定しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/29b4edbe-58e8-8017-8416-3152dfd1626b.png)

[保存して公開]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/3ef8a71b-a5fa-fb40-8f79-0edd99c00019.png)

アプリのフォーム画面に反映されます。
このように画像を挿入して組み合わせるとデザインを工夫する幅が増えそうですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/7b2237c8-b1c6-3b0c-c4ed-f61a0f54683d.png)

# PCF Galleryを使用する
正式名称、[Power Apps Component Framework Gallery](https://pcf.gallery/)はコミュニティが作成したコードコンポーネント集です。
こちらを使用することで、もともと開発が必要だったようなカスタマイズも簡単に設定することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/e130bc46-3e05-862a-0948-677961d32dd4.png)


いろんなビジュアルを追加できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/d75ea558-ceb4-a9aa-1f62-403cd3c3a536.png)


## 設定方法
以下の記事が参考になります。

https://qiita.com/kumukai/items/5f6346720ef4e9c3fcf1

githubからソリューション（zipファイル）をダウンロードした後は、最新だと以下のような手順で設定できます。
フォームの編集画面を開き、左のメニューで[コンポーネント]>[さらにコンポーネントを取得]をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/634a8ee6-8850-ac25-79ae-bac3ade76329.png)


右にウィンドウが現れ、この環境に追加されたコンポーネントを選ぶことができます。該当のコンポーネントを選択して[追加]ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/2fbfccb1-1984-45cd-5f4b-9a48eee7fec4.png)


真ん中のプレビュー画面で、コンポーネントを追加したい項目を選択し、右のプロパティの[コンポーネント]をクリックします。コンポーネントの追加に先ほど追加したコンポーネントが表示されているので、こちらをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/ea104034-7835-394e-909b-55e7dd2802e5.png)

[完了]ボタンをクリックします。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/af5185ae-84ca-bd7c-f39b-52ac1c2cb54c.png" width=50%>


コンポーネントが追加されたことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/57375469-bf87-dacc-ccf0-147202d7d747.png)

右上の[保存して公開]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/ee329ee5-1ac6-59fe-06b9-dc3d84bda3e5.png)


アプリを再生すると、新しいコンポーネントが反映されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/734322e3-caee-98ca-4877-c501529fba13.png)



# まとめ
今回はモデル駆動型アプリのUIのカスタマイズについてまとめました。
モデル駆動型アプリは決まったUIであるというイメージがありますが、以上のような方法で好きな見た目にカスタマイズしていくことも可能です！

ユーザーにより使ってもらいやすくするために、デザインを凝ってみるのも良いかもしれないですね！