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
|
package cn.super12138.todo.views
|
||||||
|
|
||||||
|
import android.graphics.Color
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
|
import androidx.activity.SystemBarStyle
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
import androidx.viewbinding.ViewBinding
|
import androidx.viewbinding.ViewBinding
|
||||||
import cn.super12138.todo.constant.GlobalValues
|
import cn.super12138.todo.constant.GlobalValues
|
||||||
|
import com.google.android.material.internal.EdgeToEdgeUtils
|
||||||
|
|
||||||
abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
|
abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
|
||||||
lateinit var binding: T
|
lateinit var binding: T
|
||||||
|
|
@ -15,7 +18,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
|
||||||
/*if (GlobalValues.springFestivalTheme) {
|
/*if (GlobalValues.springFestivalTheme) {
|
||||||
setTheme(R.style.Theme_SpringFestival)
|
setTheme(R.style.Theme_SpringFestival)
|
||||||
}*/
|
}*/
|
||||||
enableEdgeToEdge()
|
enableEdgeToEdge(navigationBarStyle = SystemBarStyle.auto(Color.TRANSPARENT, Color.TRANSPARENT))
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = getViewBinding()
|
binding = getViewBinding()
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
|
||||||
|
|
@ -18,16 +18,6 @@ class CrashActivity : BaseActivity<ActivityCrashBinding>() {
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
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 crashLogs = intent.getStringExtra("crash_logs")
|
||||||
|
|
||||||
val deviceBrand = Build.BRAND
|
val deviceBrand = Build.BRAND
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,13 @@
|
||||||
package cn.super12138.todo.views.todo
|
package cn.super12138.todo.views.todo
|
||||||
|
|
||||||
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
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.Fragment
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
|
|
@ -16,6 +20,7 @@ import cn.super12138.todo.databinding.FragmentTodoBinding
|
||||||
import cn.super12138.todo.logic.Repository
|
import cn.super12138.todo.logic.Repository
|
||||||
import cn.super12138.todo.utils.VibrationUtils
|
import cn.super12138.todo.utils.VibrationUtils
|
||||||
import cn.super12138.todo.views.bottomsheet.ToDoBottomSheet
|
import cn.super12138.todo.views.bottomsheet.ToDoBottomSheet
|
||||||
|
import cn.super12138.todo.views.crash.CrashActivity
|
||||||
import cn.super12138.todo.views.progress.ProgressFragmentViewModel
|
import cn.super12138.todo.views.progress.ProgressFragmentViewModel
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
@ -38,16 +43,15 @@ class ToDoFragment : Fragment() {
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
/*ViewCompat.setOnApplyWindowInsetsListener(binding.addItem) { view, windowInsets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.addItem) { v, windowInsets ->
|
||||||
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||||
view.updateLayoutParams<ViewGroup.MarginLayoutParams> {
|
v.updateLayoutParams<ViewGroup.MarginLayoutParams> {
|
||||||
leftMargin = if (insets.left == 0) 16 else insets.left
|
leftMargin = if (insets.left == 0) 16 else insets.left
|
||||||
bottomMargin = if (insets.bottom == 0) 48 else insets.bottom + 32
|
bottomMargin = if (insets.bottom == 0) 48 else insets.bottom + 32
|
||||||
rightMargin = if (insets.right == 0) 48 else insets.right + 32
|
rightMargin = if (insets.right == 0) 48 else insets.right + 32
|
||||||
}
|
}
|
||||||
WindowInsetsCompat.CONSUMED
|
WindowInsetsCompat.CONSUMED
|
||||||
}*/
|
}
|
||||||
|
|
||||||
val todoList = todoViewModel.todoList
|
val todoList = todoViewModel.todoList
|
||||||
|
|
||||||
val layoutManager = LinearLayoutManager(ToDoApp.context)
|
val layoutManager = LinearLayoutManager(ToDoApp.context)
|
||||||
|
|
@ -69,6 +73,8 @@ class ToDoFragment : Fragment() {
|
||||||
|
|
||||||
val toDoBottomSheet = ToDoBottomSheet()
|
val toDoBottomSheet = ToDoBottomSheet()
|
||||||
toDoBottomSheet.show(parentFragmentManager, ToDoBottomSheet.TAG)
|
toDoBottomSheet.show(parentFragmentManager, ToDoBottomSheet.TAG)
|
||||||
|
|
||||||
|
startActivity(Intent(ToDoApp.context, CrashActivity::class.java))
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.addItem.setOnLongClickListener {
|
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