Commit a0fb644f authored by wanglei's avatar wanglei

[修改]沉浸式方案

parent 4da19e6e
...@@ -6,6 +6,7 @@ import android.os.Bundle ...@@ -6,6 +6,7 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import androidx.activity.SystemBarStyle import androidx.activity.SystemBarStyle
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
import androidx.annotation.ColorInt
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsCompat
...@@ -40,6 +41,7 @@ abstract class BaseActivity<VB : ViewBinding>( ...@@ -40,6 +41,7 @@ abstract class BaseActivity<VB : ViewBinding>(
private var onCreateI = 0 private var onCreateI = 0
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setStatusBarColor()
useDefaultImmersive() useDefaultImmersive()
eventService.eventActivity(this) eventService.eventActivity(this)
onCreateI++ onCreateI++
...@@ -61,8 +63,15 @@ abstract class BaseActivity<VB : ViewBinding>( ...@@ -61,8 +63,15 @@ abstract class BaseActivity<VB : ViewBinding>(
open fun initData() {} open fun initData() {}
open fun setStatusBarColor(@ColorInt color: Int = Color.TRANSPARENT, isLight: Boolean = true) {
enableEdgeToEdge(
if (isLight) SystemBarStyle.light(color, color) else SystemBarStyle.dark(
color
)
)
}
open fun useDefaultImmersive() { open fun useDefaultImmersive() {
enableEdgeToEdge(SystemBarStyle.light(Color.TRANSPARENT, Color.TRANSPARENT))
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets -> ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment