
سلام دوستان چطورید امدم SystemUiMode در فلاتر براتون بگم و اینگه چطئر برای تجربه کاربری بهتر استفاده کنیم.
میخوایم نوار وضعیت Status Bar و Navigation Bar رو مدیریت کنیم که چطور نمایش داده بشه.
اول از هرچیزی قبل runApp کد زیر مینویسیم
WidgetsFlutterBinding.ensureInitialized();

اگر بخوایم یه تجربه کاربری تمام صفحه ایجاد کنیم برای کاربرامون از edgeToEdge استفاده میکنیم
نوار وضعیت و نوار ناوبری شفاف میشن و محتوای برنامه زیر اونها نمایش داده میشه.
void main() { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); runApp(const MyApp()); }

void main() { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive); runApp(const MyApp()); }

immersive، اما نوارهای وضعیت و ناوبری پس از ظاهر شدن با کشیدن انگشت، بهطور خودکار دوباره مخفی میشوند.void main() { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky); runApp(const MyApp()); }

( تنظیم شده فقط Navigation Bar نمایش داده نشه )
overlays).void main() { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setEnabledSystemUIMode( SystemUiMode.manual, overlays: [SystemUiOverlay.bottom], ); runApp(const MyApp()); }

نوار وضعیت و نوار ناوبری مخفی میشوند، اما به محض تعامل کاربر (مثلاً لمس صفحه)، دوباره ظاهر میشوند.
void main() { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setEnabledSystemUIMode(SystemUiMode.leanBack); runApp(const MyApp()); }
