diff --git a/app/src/main/kotlin/cn/super12138/todo/views/BaseActivity.kt b/app/src/main/kotlin/cn/super12138/todo/views/BaseActivity.kt new file mode 100644 index 0000000..5bb8d90 --- /dev/null +++ b/app/src/main/kotlin/cn/super12138/todo/views/BaseActivity.kt @@ -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 + } +} \ No newline at end of file diff --git a/app/src/main/kotlin/cn/super12138/todo/views/about/AboutActivity.kt b/app/src/main/kotlin/cn/super12138/todo/views/about/AboutActivity.kt index d9797c0..a95f5d8 100644 --- a/app/src/main/kotlin/cn/super12138/todo/views/about/AboutActivity.kt +++ b/app/src/main/kotlin/cn/super12138/todo/views/about/AboutActivity.kt @@ -4,27 +4,17 @@ import android.content.Intent import android.net.Uri import android.os.Build 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.databinding.ActivityAboutBinding +import cn.super12138.todo.views.BaseActivity import showToast -class AboutActivity : AppCompatActivity() { +class AboutActivity : BaseActivity() { private lateinit var binding: ActivityAboutBinding private var clickCount = 0 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 binding = ActivityAboutBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/kotlin/cn/super12138/todo/views/crash/CrashActivity.kt b/app/src/main/kotlin/cn/super12138/todo/views/crash/CrashActivity.kt index 624d0bb..4fe34b8 100644 --- a/app/src/main/kotlin/cn/super12138/todo/views/crash/CrashActivity.kt +++ b/app/src/main/kotlin/cn/super12138/todo/views/crash/CrashActivity.kt @@ -1,31 +1,21 @@ package cn.super12138.todo.views.crash -import android.os.Build import android.os.Bundle import android.view.ViewGroup -import android.view.WindowManager import androidx.activity.enableEdgeToEdge -import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.core.view.updateLayoutParams import cn.super12138.todo.databinding.ActivityCrashBinding +import cn.super12138.todo.views.BaseActivity -class CrashActivity : AppCompatActivity() { +class CrashActivity : BaseActivity() { private lateinit var binding: ActivityCrashBinding 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 - binding = ActivityCrashBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/kotlin/cn/super12138/todo/views/main/MainActivity.kt b/app/src/main/kotlin/cn/super12138/todo/views/main/MainActivity.kt index 38339fb..83d00c6 100644 --- a/app/src/main/kotlin/cn/super12138/todo/views/main/MainActivity.kt +++ b/app/src/main/kotlin/cn/super12138/todo/views/main/MainActivity.kt @@ -1,33 +1,22 @@ package cn.super12138.todo.views.main // 2023.11.18立项 import android.content.Intent -import android.os.Build import android.os.Bundle import android.view.Menu import android.view.MenuItem -import android.view.WindowManager -import androidx.activity.enableEdgeToEdge -import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate import cn.super12138.todo.R import cn.super12138.todo.ToDoApplication import cn.super12138.todo.databinding.ActivityMainBinding import cn.super12138.todo.logic.Repository +import cn.super12138.todo.views.BaseActivity import cn.super12138.todo.views.settings.SettingsActivity -class MainActivity : AppCompatActivity() { +class MainActivity : BaseActivity() { private lateinit var binding: ActivityMainBinding 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 binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) diff --git a/app/src/main/kotlin/cn/super12138/todo/views/settings/SettingsActivity.kt b/app/src/main/kotlin/cn/super12138/todo/views/settings/SettingsActivity.kt index 679a967..0d29f67 100644 --- a/app/src/main/kotlin/cn/super12138/todo/views/settings/SettingsActivity.kt +++ b/app/src/main/kotlin/cn/super12138/todo/views/settings/SettingsActivity.kt @@ -1,27 +1,19 @@ package cn.super12138.todo.views.settings -import android.os.Build import android.os.Bundle -import android.view.WindowManager -import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate import androidx.preference.ListPreference import androidx.preference.PreferenceFragmentCompat import cn.super12138.todo.R import cn.super12138.todo.databinding.ActivitySettingsBinding +import cn.super12138.todo.views.BaseActivity -class SettingsActivity : AppCompatActivity() { +class SettingsActivity : BaseActivity() { private lateinit var binding: ActivitySettingsBinding override fun onCreate(savedInstanceState: Bundle?) { 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) setContentView(binding.root) @@ -39,7 +31,6 @@ class SettingsActivity : AppCompatActivity() { } } - class SettingsFragment : PreferenceFragmentCompat() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.preferences, rootKey) diff --git a/app/src/main/kotlin/cn/super12138/todo/views/todo/ToDoFragment.kt b/app/src/main/kotlin/cn/super12138/todo/views/todo/ToDoFragment.kt index 2669830..593e901 100644 --- a/app/src/main/kotlin/cn/super12138/todo/views/todo/ToDoFragment.kt +++ b/app/src/main/kotlin/cn/super12138/todo/views/todo/ToDoFragment.kt @@ -43,14 +43,13 @@ class ToDoFragment : Fragment() { 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()) view.updateLayoutParams { - leftMargin = insets.left - bottomMargin = insets.bottom - rightMargin = insets.right + 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 }*/ @@ -64,10 +63,10 @@ class ToDoFragment : Fragment() { val todoViewModel = ViewModelProvider(requireActivity()).get(ToDoFragmentViewModel::class.java) - if (todoList.size == 0) { todoViewModel.emptyTipVis.value = View.VISIBLE } + binding.addItem.setOnClickListener { ToDoDialogBinding = DialogAddTodoBinding.inflate(layoutInflater)