Simplify code

This commit is contained in:
Super12138 2024-01-06 08:50:09 +08:00
parent 60b23f1cf4
commit 2289d89d4f
6 changed files with 34 additions and 55 deletions

View file

@ -0,0 +1,20 @@
package cn.super12138.todo.views
import android.os.Build
import android.os.Bundle
import android.view.WindowManager
import androidx.appcompat.app.AppCompatActivity
open class BaseActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// enableEdgeToEdge()
super.onCreate(savedInstanceState)
// 适配刘海屏
val lp = window.attributes
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
lp.layoutInDisplayCutoutMode =
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
}
window.attributes = lp
}
}

View file

@ -4,27 +4,17 @@ import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.view.WindowManager
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import cn.super12138.todo.constant.Constants import cn.super12138.todo.constant.Constants
import cn.super12138.todo.databinding.ActivityAboutBinding import cn.super12138.todo.databinding.ActivityAboutBinding
import cn.super12138.todo.views.BaseActivity
import showToast import showToast
class AboutActivity : AppCompatActivity() { class AboutActivity : BaseActivity() {
private lateinit var binding: ActivityAboutBinding private lateinit var binding: ActivityAboutBinding
private var clickCount = 0 private var clickCount = 0
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
// 适配刘海屏
val lp = window.attributes
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
lp.layoutInDisplayCutoutMode =
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
}
window.attributes = lp
binding = ActivityAboutBinding.inflate(layoutInflater) binding = ActivityAboutBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)

View file

@ -1,31 +1,21 @@
package cn.super12138.todo.views.crash package cn.super12138.todo.views.crash
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.view.ViewGroup import android.view.ViewGroup
import android.view.WindowManager
import androidx.activity.enableEdgeToEdge import androidx.activity.enableEdgeToEdge
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
import androidx.core.view.updateLayoutParams import androidx.core.view.updateLayoutParams
import cn.super12138.todo.databinding.ActivityCrashBinding import cn.super12138.todo.databinding.ActivityCrashBinding
import cn.super12138.todo.views.BaseActivity
class CrashActivity : AppCompatActivity() { class CrashActivity : BaseActivity() {
private lateinit var binding: ActivityCrashBinding private lateinit var binding: ActivityCrashBinding
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge() enableEdgeToEdge()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
// 适配刘海屏
val lp = window.attributes
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
lp.layoutInDisplayCutoutMode =
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
}
window.attributes = lp
binding = ActivityCrashBinding.inflate(layoutInflater) binding = ActivityCrashBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)

View file

@ -1,33 +1,22 @@
package cn.super12138.todo.views.main package cn.super12138.todo.views.main
// 2023.11.18立项 // 2023.11.18立项
import android.content.Intent import android.content.Intent
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.view.Menu import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import android.view.WindowManager
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.app.AppCompatDelegate
import cn.super12138.todo.R import cn.super12138.todo.R
import cn.super12138.todo.ToDoApplication import cn.super12138.todo.ToDoApplication
import cn.super12138.todo.databinding.ActivityMainBinding import cn.super12138.todo.databinding.ActivityMainBinding
import cn.super12138.todo.logic.Repository import cn.super12138.todo.logic.Repository
import cn.super12138.todo.views.BaseActivity
import cn.super12138.todo.views.settings.SettingsActivity import cn.super12138.todo.views.settings.SettingsActivity
class MainActivity : AppCompatActivity() { class MainActivity : BaseActivity() {
private lateinit var binding: ActivityMainBinding private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
// 适配刘海屏
val lp = window.attributes
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
lp.layoutInDisplayCutoutMode =
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
}
window.attributes = lp
binding = ActivityMainBinding.inflate(layoutInflater) binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)

View file

@ -1,27 +1,19 @@
package cn.super12138.todo.views.settings package cn.super12138.todo.views.settings
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.view.WindowManager
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.app.AppCompatDelegate
import androidx.preference.ListPreference import androidx.preference.ListPreference
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import cn.super12138.todo.R import cn.super12138.todo.R
import cn.super12138.todo.databinding.ActivitySettingsBinding import cn.super12138.todo.databinding.ActivitySettingsBinding
import cn.super12138.todo.views.BaseActivity
class SettingsActivity : AppCompatActivity() { class SettingsActivity : BaseActivity() {
private lateinit var binding: ActivitySettingsBinding private lateinit var binding: ActivitySettingsBinding
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
// 适配刘海屏
val lp = window.attributes
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
lp.layoutInDisplayCutoutMode =
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
}
window.attributes = lp
binding = ActivitySettingsBinding.inflate(layoutInflater) binding = ActivitySettingsBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
@ -39,7 +31,6 @@ class SettingsActivity : AppCompatActivity() {
} }
} }
class SettingsFragment : PreferenceFragmentCompat() { class SettingsFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.preferences, rootKey) setPreferencesFromResource(R.xml.preferences, rootKey)

View file

@ -43,14 +43,13 @@ class ToDoFragment : Fragment() {
todoList.add(ToDo(todo.uuid, todo.context, todo.subject)) todoList.add(ToDo(todo.uuid, todo.context, todo.subject))
} }
/*ViewCompat.setOnApplyWindowInsetsListener(binding.todoList) { view, windowInsets -> /*ViewCompat.setOnApplyWindowInsetsListener(binding.addItem) { view, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()) val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
view.updateLayoutParams<ViewGroup.MarginLayoutParams> { view.updateLayoutParams<ViewGroup.MarginLayoutParams> {
leftMargin = insets.left leftMargin = if (insets.left == 0) 16 else insets.left
bottomMargin = insets.bottom bottomMargin = if (insets.bottom == 0) 48 else insets.bottom + 32
rightMargin = insets.right rightMargin = if (insets.right == 0) 48 else insets.right + 32
} }
WindowInsetsCompat.CONSUMED WindowInsetsCompat.CONSUMED
}*/ }*/
@ -64,10 +63,10 @@ class ToDoFragment : Fragment() {
val todoViewModel = val todoViewModel =
ViewModelProvider(requireActivity()).get(ToDoFragmentViewModel::class.java) ViewModelProvider(requireActivity()).get(ToDoFragmentViewModel::class.java)
if (todoList.size == 0) { if (todoList.size == 0) {
todoViewModel.emptyTipVis.value = View.VISIBLE todoViewModel.emptyTipVis.value = View.VISIBLE
} }
binding.addItem.setOnClickListener { binding.addItem.setOnClickListener {
ToDoDialogBinding = DialogAddTodoBinding.inflate(layoutInflater) ToDoDialogBinding = DialogAddTodoBinding.inflate(layoutInflater)