From 2ecd2507b75ecff35e9baa2546a07de476166b74 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Thu, 18 Sep 2025 02:12:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BE=E7=89=87=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kazusa/ui/book/read/ReadBookActivity.kt | 1 + .../io/legato/kazusa/ui/widget/PopupAction.kt | 2 + .../kazusa/ui/widget/dialog/PhotoDialog.kt | 8 +--- app/src/main/res/layout/dialog_photo_view.xml | 38 +++++++++++++++++-- app/src/main/res/layout/popup_action.xml | 31 ++++++++++----- 5 files changed, 61 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/ReadBookActivity.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/ReadBookActivity.kt index c94d23347..0d4a2a201 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/ReadBookActivity.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/read/ReadBookActivity.kt @@ -1412,6 +1412,7 @@ class ReadBookActivity : BaseReadBookActivity(), */ @SuppressLint("RtlHardcoded") override fun onImageLongPress(x: Float, y: Float, src: String) { + binding.root.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS) popupAction.setItems( listOf( SelectItem(getString(R.string.show), "show"), diff --git a/app/src/main/java/io/legato/kazusa/ui/widget/PopupAction.kt b/app/src/main/java/io/legato/kazusa/ui/widget/PopupAction.kt index 8a449157b..28c59306e 100644 --- a/app/src/main/java/io/legato/kazusa/ui/widget/PopupAction.kt +++ b/app/src/main/java/io/legato/kazusa/ui/widget/PopupAction.kt @@ -3,6 +3,7 @@ package io.legato.kazusa.ui.widget import android.content.Context import android.view.ViewGroup import android.widget.PopupWindow +import io.legato.kazusa.R import io.legato.kazusa.base.adapter.ItemViewHolder import io.legato.kazusa.base.adapter.RecyclerAdapter import io.legato.kazusa.databinding.ItemTextBinding @@ -22,6 +23,7 @@ class PopupAction(private val context: Context) : var onActionClick: ((action: String) -> Unit)? = null init { + animationStyle = R.style.TextActionMenuAnimation contentView = binding.root isTouchable = true diff --git a/app/src/main/java/io/legato/kazusa/ui/widget/dialog/PhotoDialog.kt b/app/src/main/java/io/legato/kazusa/ui/widget/dialog/PhotoDialog.kt index 71a8aaa11..7aa6106a8 100644 --- a/app/src/main/java/io/legato/kazusa/ui/widget/dialog/PhotoDialog.kt +++ b/app/src/main/java/io/legato/kazusa/ui/widget/dialog/PhotoDialog.kt @@ -8,6 +8,7 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.load.resource.bitmap.DownsampleStrategy import com.bumptech.glide.request.RequestOptions import io.legato.kazusa.R +import io.legato.kazusa.base.BaseBottomSheetDialogFragment import io.legato.kazusa.base.BaseDialogFragment import io.legato.kazusa.databinding.DialogPhotoViewBinding import io.legato.kazusa.help.book.BookHelp @@ -22,7 +23,7 @@ import io.legato.kazusa.utils.viewbindingdelegate.viewBinding /** * 显示图片 */ -class PhotoDialog() : BaseDialogFragment(R.layout.dialog_photo_view) { +class PhotoDialog() : BaseBottomSheetDialogFragment(R.layout.dialog_photo_view) { constructor(src: String, sourceOrigin: String? = null) : this() { arguments = Bundle().apply { @@ -33,11 +34,6 @@ class PhotoDialog() : BaseDialogFragment(R.layout.dialog_photo_view) { private val binding by viewBinding(DialogPhotoViewBinding::bind) - override fun onStart() { - super.onStart() - setLayout(1f, ViewGroup.LayoutParams.MATCH_PARENT) - } - @SuppressLint("CheckResult") override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { val arguments = arguments ?: return diff --git a/app/src/main/res/layout/dialog_photo_view.xml b/app/src/main/res/layout/dialog_photo_view.xml index 80556defb..92ec96862 100644 --- a/app/src/main/res/layout/dialog_photo_view.xml +++ b/app/src/main/res/layout/dialog_photo_view.xml @@ -1,12 +1,44 @@ + android:layout_height="wrap_content" + android:paddingHorizontal="16dp" + xmlns:app="http://schemas.android.com/apk/res-auto"> + + + + + + + diff --git a/app/src/main/res/layout/popup_action.xml b/app/src/main/res/layout/popup_action.xml index 9358ac367..0a4b202f1 100644 --- a/app/src/main/res/layout/popup_action.xml +++ b/app/src/main/res/layout/popup_action.xml @@ -1,19 +1,30 @@ - + app:strokeWidth="0dp" + app:cardBackgroundColor="?attr/colorSurfaceContainer"> - + android:padding="8dp" + android:orientation="vertical"> + + + + + + -