Fix edge to edge

This commit is contained in:
Light_summer
2024-10-04 12:37:42 +08:00
parent b9ab00fdae
commit 6c2e7aef65
2 changed files with 30 additions and 4 deletions
@@ -13,7 +13,10 @@ import android.view.Menu
import android.view.ViewGroup
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isVisible
import androidx.core.view.updatePadding
import androidx.recyclerview.widget.RecyclerView
import com.topjohnwu.superuser.Shell
import com.topjohnwu.superuser.ipc.RootService
@@ -32,16 +35,36 @@ class MainActivity : AppCompatActivity() {
private val prefs by lazy { getSharedPreferences("settings", MODE_PRIVATE) }
override fun onCreate(savedInstanceState: Bundle?) {
// Enable edge to edge
enableEdgeToEdge()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
window.isNavigationBarContrastEnforced = false
}
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
adapter = Adapter()
binding.list.adapter = adapter
setContentView(binding.root)
setSupportActionBar(binding.toolbar)
// Add insets
ViewCompat.setOnApplyWindowInsetsListener(binding.appbar) { v, insets ->
val cutoutAndBars = insets.getInsets(
WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout()
)
v.updatePadding(left = cutoutAndBars.left, top = cutoutAndBars.top, right = cutoutAndBars.right)
return@setOnApplyWindowInsetsListener insets
}
ViewCompat.setOnApplyWindowInsetsListener(binding.list) { v, insets ->
val cutoutAndBars = insets.getInsets(
WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.displayCutout()
)
v.updatePadding(left = cutoutAndBars.left, bottom = cutoutAndBars.bottom, right = cutoutAndBars.right)
return@setOnApplyWindowInsetsListener insets
}
adapter = Adapter()
binding.list.adapter = adapter
binding.swipeRefresh.setOnRefreshListener {
refresh()
}