###最初に
このページはステータスバーを透過させた際にステータスバーのメニューと
リストの内容が被ってしまうことがあるため備忘録として記させていただきます
##実装方法
MainFragment.kt
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
presenter.onViewCreated()
recyclerView.requestApplyInsets()
recyclerView.setOnApplyWindowInsetsListener{v, insets ->
v.setPadding(0,insets.systemWindowInsetTop,0,0)
return@setOnApplyWindowInsetsListener insets
}
}
setOnApplyInstesListener内のinsets.systemWindowInsetTopでステータスバー分の高さを取得してパディングに設定します
ステータスバー分下げるだけの場合はsetOnApplyWindowInsetsListener内のみの
処理で十分ですが、ここで一つ注意していただきたいのがタブなどでフラグメントを
制御している場合、遷移後にsetOnApplyWindowInsetsListener内に処理が入ってくれずパディングが設定されないことがあるので
**requestApplyInsets()**を書いてあげることにより一度リセットをしてくれるため
再度中身の処理に入ってくれます
#最後に
前回ステータスバーの透過方法を書かせていただいたのですが仕事で作っている
アプリでrecyclerViewに実装した際にパディングが実装されない不具合に直面した
ため書かせていただきました