<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jordan Varghese</title>
    <description>The latest articles on DEV Community by Jordan Varghese (@jordanvarghese).</description>
    <link>https://dev.to/jordanvarghese</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F498423%2F0b550ae9-ffd4-40b8-b165-6c3d46800880.png</url>
      <title>DEV Community: Jordan Varghese</title>
      <link>https://dev.to/jordanvarghese</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jordanvarghese"/>
    <language>en</language>
    <item>
      <title>How to make System Android Navigation Bar Background Transparent in Flutter</title>
      <dc:creator>Jordan Varghese</dc:creator>
      <pubDate>Sun, 10 Mar 2024 15:34:14 +0000</pubDate>
      <link>https://dev.to/jordanvarghese/how-to-make-system-navigation-bar-background-transparent-in-flutter-3b7l</link>
      <guid>https://dev.to/jordanvarghese/how-to-make-system-navigation-bar-background-transparent-in-flutter-3b7l</guid>
      <description>&lt;p&gt;Hey there! I'm new to Flutter world but I've got a real soft spot for sleek UI and obsessing over those tiny details. So, right from day one of tinkering with Flutter, I couldn't resist the urge to figure out how to make that default Android system navigation bar (gesture bar) transparent and these are the methods that i found on internet that worked for me&lt;/p&gt;

&lt;h2&gt;
  
  
  Technique 1
&lt;/h2&gt;

&lt;p&gt;Step 1: import below package in &lt;strong&gt;main.dart&lt;/strong&gt; file&lt;br&gt;
&lt;code&gt;import 'package:flutter/services.dart';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Step 2: add below code in main function&lt;br&gt;
&lt;code&gt;// make navigation bar transparent&lt;br&gt;
  SystemChrome.setSystemUIOverlayStyle(&lt;br&gt;
    const SystemUiOverlayStyle(&lt;br&gt;
      systemNavigationBarColor: Colors.transparent,&lt;br&gt;
    ),&lt;br&gt;
  );&lt;br&gt;
  // make flutter draw behind navigation bar&lt;br&gt;
  SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);&lt;br&gt;
  runApp(const MyApp());&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk8goxalkhas0p699bl31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk8goxalkhas0p699bl31.png" alt="Image description" width="800" height="308"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Technique 2
&lt;/h2&gt;

&lt;p&gt;Step 1: add the below line in build.gradle file found in the path: &lt;strong&gt;android/app/build.gradle&lt;/strong&gt; &amp;gt; &lt;strong&gt;dependencies{}&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;implementation 'androidx.core:core-ktx:1.5.0-beta01' // add this line&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8pir8vuaguh5lgv3c9tl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8pir8vuaguh5lgv3c9tl.png" alt="Image description" width="800" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 2: add the below import and block of code in &lt;strong&gt;MainActivity.kt&lt;/strong&gt; file found in the path : android/app/src/main/kotlin///MainActivity.kt&lt;/p&gt;

&lt;p&gt;&lt;code&gt;import androidx.core.view.WindowCompat //add this line&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;class MainActivity: FlutterActivity() {&lt;br&gt;
    // add the following block of code&lt;br&gt;
    override fun onPostResume() {&lt;br&gt;
        super.onPostResume()&lt;br&gt;
        WindowCompat.setDecorFitsSystemWindows(window, false)&lt;br&gt;
        window.navigationBarColor = 0 // for transparent nav bar&lt;br&gt;
        window.statusBarColor = 0 // for transparent status bar&lt;br&gt;
    }&lt;br&gt;
}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv31tdpyu40xjk89o0f4j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv31tdpyu40xjk89o0f4j.png" alt="Image description" width="800" height="334"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The second technique worked as I expected it to. If the first approach is not working for you, don't forget to try the second one. And if there's any other workaround that is better than this, please share it in the comments.&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>ui</category>
    </item>
  </channel>
</rss>
