Edge to edge optimization

This commit is contained in:
Super12138 2024-06-09 16:25:44 +08:00
parent dc4ffe0941
commit 17963e9f40
4 changed files with 24 additions and 15 deletions

View file

@ -1,13 +1,16 @@
package cn.super12138.todo.views
import android.graphics.Color
import android.os.Build
import android.os.Bundle
import android.view.WindowManager
import androidx.activity.SystemBarStyle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
import androidx.viewbinding.ViewBinding
import cn.super12138.todo.constant.GlobalValues
import com.google.android.material.internal.EdgeToEdgeUtils
abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
lateinit var binding: T
@ -15,7 +18,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
/*if (GlobalValues.springFestivalTheme) {
setTheme(R.style.Theme_SpringFestival)
}*/
enableEdgeToEdge()
enableEdgeToEdge(navigationBarStyle = SystemBarStyle.auto(Color.TRANSPARENT, Color.TRANSPARENT))
super.onCreate(savedInstanceState)
binding = getViewBinding()
setContentView(binding.root)

View file

@ -18,16 +18,6 @@ class CrashActivity : BaseActivity<ActivityCrashBinding>() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
ViewCompat.setOnApplyWindowInsetsListener(binding.exitApp) { view, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
view.updateLayoutParams<ViewGroup.MarginLayoutParams> {
leftMargin = if (insets.left == 0) 16 else insets.left
bottomMargin = if (insets.bottom == 0) 48 else insets.bottom + 32
rightMargin = if (insets.right == 0) 48 else insets.right + 32
}
WindowInsetsCompat.CONSUMED
}
val crashLogs = intent.getStringExtra("crash_logs")
val deviceBrand = Build.BRAND

View file

@ -1,9 +1,13 @@
package cn.super12138.todo.views.todo
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updateLayoutParams
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.lifecycle.Observer
@ -16,6 +20,7 @@ import cn.super12138.todo.databinding.FragmentTodoBinding
import cn.super12138.todo.logic.Repository
import cn.super12138.todo.utils.VibrationUtils
import cn.super12138.todo.views.bottomsheet.ToDoBottomSheet
import cn.super12138.todo.views.crash.CrashActivity
import cn.super12138.todo.views.progress.ProgressFragmentViewModel
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import kotlinx.coroutines.launch
@ -38,16 +43,15 @@ class ToDoFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
/*ViewCompat.setOnApplyWindowInsetsListener(binding.addItem) { view, windowInsets ->
ViewCompat.setOnApplyWindowInsetsListener(binding.addItem) { v, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
view.updateLayoutParams<ViewGroup.MarginLayoutParams> {
v.updateLayoutParams<ViewGroup.MarginLayoutParams> {
leftMargin = if (insets.left == 0) 16 else insets.left
bottomMargin = if (insets.bottom == 0) 48 else insets.bottom + 32
rightMargin = if (insets.right == 0) 48 else insets.right + 32
}
WindowInsetsCompat.CONSUMED
}*/
}
val todoList = todoViewModel.todoList
val layoutManager = LinearLayoutManager(ToDoApp.context)
@ -69,6 +73,8 @@ class ToDoFragment : Fragment() {
val toDoBottomSheet = ToDoBottomSheet()
toDoBottomSheet.show(parentFragmentManager, ToDoBottomSheet.TAG)
startActivity(Intent(ToDoApp.context, CrashActivity::class.java))
}
binding.addItem.setOnLongClickListener {

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.ToDo" parent="Base.Theme.ToDo">
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">?attr/isLightTheme</item>
<item name="android:enforceNavigationBarContrast">false</item>
</style>
</resources>