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">
+
+
+
+
+
+
-