グラデーションはこう使う!Flutter × UI表現の幅が広がる実装ガイド

こんにちはYOUTRUSTのアプリエンジニアの優依那(YOUTRUST / X)です。

最近YOUTRUSTのアプリでグラデーションデザインを実装しました!
今回はFlutterで使えるグラデーションの種類や実装方法を、実例を交えてご紹介します🌈


早速ですが、SNSで実装されているグラデーションをパッとイメージできますでしょうか🤔💭


Instagram

Instagramではグラデーションの実装箇所が多く、

アイコン/ストーリーズの活性状態/いいねタップ時のハートアイコン/
QRコード画面の背景/メッセージの背景

などでグラデーションが実装されています。

DM機能のメッセージの背景は、スクロールするとそのスクロール方向にグラデーションが動くといった特殊な実装がされています。

TikTok / mixi2

TiktokでもQRの背景に使用されていたり、 最近話題になったmixi2もアイコンや招待画面、

その他の細かい箇所でグラデーションが実装されています。


YOUTRUST

YOUTRUSTでは新たに、オンボーディングの背景とボタンにグラデーションが導入されました🎉

例に挙げたように、現在のSNSアプリではグラデーションが積極的に取り入れられており、
視認性やブランド印象に関わる重要なUIで活用されています。


グラデーションデザインが注目されている理由

最近では、シンプルで洗練されたデザインが主流となる中で、
グラデーションは「シンプルだけど印象に残る」表現として再注目されています。
特に、ユーザーの目に留まりやすいアイコンやボタン、背景などに効果的に取り入れることで、
アプリ全体の雰囲気やブランドイメージを引き立てる役割も果たしています。


グラデーションを使用することで得られるUI効果

🌟オリジナリティのある色合いで、他のアプリと差別化できる

グラデーションを使うことで、単色では出せない独自の雰囲気や世界観を表現できます。

🌟立体感が出て、クリック率アップにもつながる

フラットデザインのトレンドを取り入れつつ、タップできる範囲が視覚的にわかりやすくなるため、CTRの向上にも効果があります。



Flutterで使える主なグラデーション3選

🌈 LinearGradient:線形グラデーション

LinearGradientは直線方向に色が変化するグラデーションで、 BoxDecorationgradientプロパティの配下で使用します。

beginendにはAlignmentを指定します。中央が(0,0)、左上が(-1, -1)、右下が(1, 1)です。

個人的に少し感覚と違ったのが、y軸は上に行くほどマイナスになるので注意が必要です。

🎯 RadialGradient:放射状グラデーション

RadialGradientは放射状に広がっていくグラデーションでradiusで大きさを変更できます。

🕰️ SweepGradient:時計回りグラデーション

SweepGradientは画面横軸の0の座標からスタートするグラデーションを実装できます。


YOUTRUSTで実装したグラデーション

YOUTRUSTのグラデーションはSweepGradientを使用していて
stopsで使用する色の開始地点を調整し、transformでグラデーションの回転を制御しています。

🎯 mesh Gradientを実装できるパッケージ

メッシュグラデーションを実装できる面白いパッケージがあったのでそちらも紹介します。

pub.dev

GUI上でグラデーションを自由にデザインできて、
あとは生成されたコードをコピペするだけで、簡単に実装できます!


🎯 最後に...

ぜひグラデーションを実装する際のお役に立てると嬉しいです!

今回ご紹介した内容は、先日の YOUTRUST 主催の Flutter LT会でも登壇させていただきました!
YOUTRUST では定期的に Flutter のイベントを開催しているので、
興味のある方はぜひXの開発アカウントをフォローしてチェックしてみてください🌟

YOUTRUSTではエンジニアを募集しています! 興味がある方はカジュアル面談からでもOKなのでぜひ✨

herp.careers