From 74e6492cf1277d06e90e04cd08f93ec88ffbde96 Mon Sep 17 00:00:00 2001 From: Pav Sidhu Date: Tue, 10 Sep 2019 01:27:48 +0100 Subject: [PATCH] Make status bar transparent --- .../app/getfeeling/feeling/MainActivity.kt | 8 +++++ .../getfeeling/feeling/util/ViewExtension.kt | 30 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 app/src/main/java/app/getfeeling/feeling/util/ViewExtension.kt diff --git a/app/src/main/java/app/getfeeling/feeling/MainActivity.kt b/app/src/main/java/app/getfeeling/feeling/MainActivity.kt index 13cdcd4..45a5f08 100644 --- a/app/src/main/java/app/getfeeling/feeling/MainActivity.kt +++ b/app/src/main/java/app/getfeeling/feeling/MainActivity.kt @@ -4,6 +4,7 @@ import android.content.Intent import android.os.Bundle import android.view.View import androidx.activity.viewModels +import androidx.core.view.ViewCompat import androidx.databinding.DataBindingUtil import androidx.lifecycle.ViewModelProvider import androidx.navigation.NavController @@ -12,6 +13,7 @@ import androidx.navigation.ui.setupWithNavController import app.getfeeling.feeling.databinding.MainActivityBinding import app.getfeeling.feeling.ui.me.MeViewModel import app.getfeeling.feeling.ui.signin.SignInViewModel +import app.getfeeling.feeling.util.makeStatusBarTransparent import com.google.android.material.bottomnavigation.BottomNavigationView import com.google.android.material.floatingactionbutton.FloatingActionButton import dagger.android.support.DaggerAppCompatActivity @@ -42,6 +44,12 @@ class MainActivity : DaggerAppCompatActivity() { binding.fab.setOnClickListener { meViewModel.addFeeling() } + this.makeStatusBarTransparent() + + + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.nav_host_fragment)) { _, insets -> + insets.consumeSystemWindowInsets() + } } override fun onNewIntent(intent: Intent) { diff --git a/app/src/main/java/app/getfeeling/feeling/util/ViewExtension.kt b/app/src/main/java/app/getfeeling/feeling/util/ViewExtension.kt new file mode 100644 index 0000000..ed8c84e --- /dev/null +++ b/app/src/main/java/app/getfeeling/feeling/util/ViewExtension.kt @@ -0,0 +1,30 @@ +package app.getfeeling.feeling.util + +import android.app.Activity +import android.graphics.Color +import android.os.Build +import android.view.View +import android.view.ViewGroup +import android.view.WindowManager + +fun Activity.makeStatusBarTransparent() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + window.apply { + clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) + addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + decorView.systemUiVisibility = + View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR + } else { + decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + } + statusBarColor = Color.TRANSPARENT + } + } +} + +fun View.setMarginTop(marginTop: Int) { + val menuLayoutParams = this.layoutParams as ViewGroup.MarginLayoutParams + menuLayoutParams.setMargins(0, marginTop, 0, 0) + this.layoutParams = menuLayoutParams +} \ No newline at end of file