Edge to edge optimization
This commit is contained in:
parent
dc4ffe0941
commit
17963e9f40
4 changed files with 24 additions and 15 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
10
app/src/main/res/values-v29/themes.xml
Normal file
10
app/src/main/res/values-v29/themes.xml
Normal 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>
|
||||
Loading…
Reference in a new issue