micomia株式会社の井上です。今回はDesign Systemについて解説していきます。
初心者にも分かりやすく解説していくのでぜひご一読ください。
1. Design Systemとは
Design Systemとは、簡単にまとめるとアプリのUIを統一されたデザインで作るためのパーツやスタイルの集合になっています。
Design Systemを使用することで画面ごとの色、文字、ボタンが統一されたり、複数人で開発してもUIが崩れにくいなどのメリットがあります。
2. Design Systemの詳細
Design SystemはTheme Settingsにあります。

まず1つ目のBreakpointsはどこからどこまでの画面幅がモバイル扱いで、どこからどこまでの画面幅がタブレット扱いなのかを決められますが、この部分は基本的に変更する必要は無いと考えています。

次にLoading Indicatorです。ロード中のアイコン(Previewに表示されているもの)に関する設定をすることができます。

デフォルトはよくあるCircularですが、たくさんの種類の中から選んでカラーやサイズも変更することができます。


次に、Scrollbar Themeです。これはスクロール時に端に表示されるバーに関する設定をすることができます。

例えば、カラーを赤に設定してみるとこのように色が変わります。

その下にあるThicknessはバーの太さを、Border Radiusは角の丸みを、Main Thumb Lengthはつまみの長さを、Main Axis Marginは上下(横向きなら左右)の余白を、Cross Axis Marginはコンテンツとバーとの間隔を設定できます。

Thumb Always VisibleはONにするとスクロールバーが縦でも横でも常に表示されるようになります。

Horizontal Scrollbar Always Visibleは横のスクロールバーだけ常に表示されるようになります。
その下のInteractiveはONにするとスクロールバーのつまみをドラッグして動かせるようになります。
次に、Pull to Refresh Styleは引っ張った時に更新する表示に関する設定できます。

例えば、このようにColor, Background Color, Border Widthを変えることができます。

一番下にあるMaterial ThemeはFlutterで用意されているMaterial 3を使用するかどうかに関する設定ですが、Material 3にするとかなりUIが変わるので基本的にOFFのままで良いと考えています。

3. さいごに
今回はDesign Themeについて解説していきました。機能実装ではないものの、実装の基盤となる重要な部分なのでぜひ本記事を参考にして設定してみてください。
本記事の内容を動画で見たい方は以下もご覧ください。


.webp%3Falt%3Dmedia%26token%3D087cf100-0101-43ba-a354-dab3bbec04d2&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Da7c14698-1b08-4fea-89c6-f77a9121f4c5&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D899eeefd-f4c9-44a6-9ec2-3ced0b223ffd&w=3840&q=75)

.webp%3Falt%3Dmedia%26token%3D554beac3-1f0a-4dae-99c0-76320019500f&w=3840&q=75)







.webp%3Falt%3Dmedia%26token%3D7c77ae76-450c-48b3-be29-0e949e7116dc&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Dd8f3f5bc-41c2-4a1e-ace1-62e9ae72d08b&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D679eb351-4808-4d43-8b9d-92f6a88584ef&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D5c25485e-7be1-4f95-ad65-2e4c0c2d0ddb&w=3840&q=75)

.webp%3Falt%3Dmedia%26token%3D1875ff54-2eaa-4913-8d8c-9a4855927112&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D900f385d-12a2-449b-8d1e-83a57cef0088&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D0e802fb0-2dda-44a7-bf80-5d39019635ba&w=3840&q=75)