###ステータスバーの透過方法
ステータスバーの透過方法で躓いたので備忘録として残しておきます
早速ですが記述しなければいけないのは以下の二つのみです
styles.xml
<item name="android:statusBarColor">@android:color/transparent</item>
MainActivity.kt
window.apply {
decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
}
スタイルに書くのは透明色指定のみで大丈夫です
ここで
styles.xml
<style name="android:windowTranslucentStatus">true</item>
と定義してしまうと完全透明ではなく半透明になってしまうので気を付けましょう
次はMainActivityの処理です
他サイトだと
MainActivity.kt
findViewById<View?>(R.id.content)?.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
と定義していますが自分ではこれで透過された判定になりませんでした
MainActivity.kt
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
これはステータスバーが透過された場合にビューが崩れてしまわないように設定しているものです
MainActivity.kt
View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
こちらはステータスバーの文字色を変更する役目を持っています
デフォルトは白色ですがこのコードを挿入してあげると濃いグレーになります
#最後に
自分が詰まっているときに検索をかけていたところ様々なところで詰まっている方を見かけたので参考程度になると嬉しいです
ナビゲーションバー等の透過方法が気になる方がいる場合はそちらも書いていこうと思います