diff --git a/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageActivity.kt b/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageActivity.kt index d7f2af33e..dc83e0fa4 100644 --- a/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageActivity.kt @@ -4,6 +4,7 @@ import android.annotation.SuppressLint import android.os.Bundle import android.view.Menu import android.view.MenuItem +import android.view.MotionEvent import android.widget.CheckBox import android.widget.LinearLayout import androidx.activity.viewModels @@ -32,10 +33,7 @@ import io.legado.app.ui.widget.dialog.WaitDialog import io.legado.app.ui.widget.recycler.DragSelectTouchHelper import io.legado.app.ui.widget.recycler.ItemTouchCallback import io.legado.app.ui.widget.recycler.VerticalDivider -import io.legado.app.utils.cnCompare -import io.legado.app.utils.dpToPx -import io.legado.app.utils.setEdgeEffectColor -import io.legado.app.utils.showDialogFragment +import io.legado.app.utils.* import io.legado.app.utils.viewbindingdelegate.viewBinding import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.Job @@ -82,6 +80,13 @@ class BookshelfManageActivity : upBookDataByGroupId() } + override fun dispatchTouchEvent(ev: MotionEvent): Boolean { + if (ev.action == MotionEvent.ACTION_DOWN) { + binding.root.hideSoftInput() + } + return super.dispatchTouchEvent(ev) + } + override fun observeLiveBus() { viewModel.batchChangeSourceState.observe(this) { if (it) { diff --git a/app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt b/app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt index a911c097b..c6fa40883 100644 --- a/app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt @@ -6,6 +6,7 @@ import android.content.Intent import android.os.Bundle import android.view.Menu import android.view.MenuItem +import android.view.MotionEvent import androidx.activity.viewModels import androidx.appcompat.widget.SearchView import androidx.fragment.app.Fragment @@ -23,11 +24,8 @@ import io.legado.app.model.ReadBook import io.legado.app.ui.about.AppLogDialog import io.legado.app.ui.book.toc.rule.TxtTocRuleDialog import io.legado.app.ui.widget.dialog.WaitDialog -import io.legado.app.utils.applyTint -import io.legado.app.utils.gone -import io.legado.app.utils.showDialogFragment +import io.legado.app.utils.* import io.legado.app.utils.viewbindingdelegate.viewBinding -import io.legado.app.utils.visible /** * 目录 @@ -58,6 +56,13 @@ class TocActivity : VMBaseActivity(), } } + override fun dispatchTouchEvent(ev: MotionEvent): Boolean { + if (ev.action == MotionEvent.ACTION_DOWN) { + binding.root.hideSoftInput() + } + return super.dispatchTouchEvent(ev) + } + override fun onCompatCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.book_toc, menu) this.menu = menu diff --git a/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt b/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt index fa83b6fbe..63a2c2d6f 100644 --- a/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt +++ b/app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt @@ -5,6 +5,7 @@ import android.app.Activity import android.os.Bundle import android.view.Menu import android.view.MenuItem +import android.view.MotionEvent import android.view.SubMenu import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.viewModels @@ -112,6 +113,13 @@ class ReplaceRuleActivity : VMBaseActivity