I’m not sure how to implement the inset shadow effect and rounded corners in Flutter. What’s the best approach to recreate this exact styling using Flutter’s decoration system? Should I use Container with BoxDecoration or is there a better widget for this kind of button styling?
Hit this same problem last month converting a Figma prototype. Container works, but ElevatedButton.styleFrom() gives you way better control over button behavior while letting you add custom styling. For inset shadows, I use a Stack with two containers - bottom one’s your main color, top one’s a LinearGradient from top-left with black at 0.25 opacity. Just match the gradient direction to your Figma shadow angle.
Use a Container with BoxDecoration for that styling. Flutter doesn’t have native inset shadows like CSS, but you can fake it by layering two Containers. The outer one gets your main background color, and the inner one uses a gradient to create the inset shadow look.
Manual conversion gets old fast, especially with multiple design iterations. I wasted too many hours translating Figma styles by hand before realizing automation could handle this whole thing.
Flutter doesn’t do true inset shadows, so you’ll need the layering approach others mentioned.
But here’s what really changed everything - skip the manual conversion entirely. Automate the whole Figma to Flutter pipeline. Pull design tokens from Figma’s API, process the CSS properties, and generate Flutter widgets automatically.
I built something like this for our design system. Saves hours every sprint. When designers update components in Figma, the Flutter code updates automatically - no manual work.
Latenode makes this automation pretty easy with its visual workflow builder and API integrations.