diff --git a/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt b/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt index 96a92f5..0cf411c 100644 --- a/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt +++ b/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt @@ -444,15 +444,17 @@ class TaskListFragment : BaseFragment() { } } - /** 全屏显示大图(覆盖在当前页面上,点击任意位置关闭) */ + /** 全屏显示大图(覆盖在 Activity 窗口顶层,点击关闭) */ private fun showFullImage(url: String) { - val container = requireActivity().findViewById(R.id.dialog_container) + Timber.d("查看大图: $url") + // 使用 Activity 的 decorView 确保在最顶层 + val rootView = requireActivity().window.decorView as ViewGroup val overlay = FrameLayout(requireContext()).apply { - layoutParams = FrameLayout.LayoutParams( - FrameLayout.LayoutParams.MATCH_PARENT, - FrameLayout.LayoutParams.MATCH_PARENT + layoutParams = ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT ) - setBackgroundColor(0xE0000000.toInt()) + setBackgroundColor(0xFF000000.toInt()) isClickable = true isFocusable = true } @@ -464,13 +466,11 @@ class TaskListFragment : BaseFragment() { scaleType = android.widget.ImageView.ScaleType.FIT_CENTER } overlay.addView(imageView) - container.addView(overlay) - // 点击任意位置关闭(包括图片本身) - val dismiss = { container.removeView(overlay) } - overlay.setOnClickListener { dismiss() } - imageView.setOnClickListener { dismiss() } + rootView.addView(overlay) + // 点击任意位置关闭 + overlay.setOnClickListener { rootView.removeView(overlay) } + imageView.setOnClickListener { rootView.removeView(overlay) } // 加载大图 - Timber.d("查看大图: $url") loadImage(imageView, url) }