From 770c4179a32974093bcee71b146018a430ce30e5 Mon Sep 17 00:00:00 2001 From: klaus Date: Fri, 22 Aug 2025 22:17:31 +0900 Subject: [PATCH] =?UTF-8?q?fix(gallery):=20=EA=B5=AC=EB=A7=A4=20=EB=8B=A4?= =?UTF-8?q?=EC=9D=B4=EC=96=BC=EB=A1=9C=EA=B7=B8=EB=A5=BC=20AlertDialog?= =?UTF-8?q?=EC=97=90=EC=84=9C=20SodaDialog=EB=A1=9C=20=EA=B5=90=EC=B2=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 디자인 일관성 및 공통 컴포넌트 적용을 위해 갤러리 탭의 구매 확인 다이얼로그에 SodaDialog를 사용하도록 변경 --- .../co/vividnext/sodalive/base/SodaDialog.kt | 4 ++-- .../gallery/CharacterGalleryFragment.kt | 21 ++++++++++--------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/base/SodaDialog.kt b/app/src/main/java/kr/co/vividnext/sodalive/base/SodaDialog.kt index 11515769..01aa4e4a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/base/SodaDialog.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/base/SodaDialog.kt @@ -2,12 +2,12 @@ package kr.co.vividnext.sodalive.base import android.app.Activity import android.graphics.Color -import android.graphics.drawable.ColorDrawable import android.view.Gravity import android.view.LayoutInflater import android.view.View import android.view.WindowManager import androidx.appcompat.app.AlertDialog +import androidx.core.graphics.drawable.toDrawable import kr.co.vividnext.sodalive.databinding.DialogSodaBinding import kr.co.vividnext.sodalive.extensions.dpToPx @@ -33,7 +33,7 @@ open class SodaDialog( alertDialog = dialogBuilder.create() alertDialog.setCancelable(false) - alertDialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + alertDialog.window?.setBackgroundDrawable(Color.TRANSPARENT.toDrawable()) dialogView.tvTitle.text = title dialogView.tvDesc.text = desc diff --git a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/gallery/CharacterGalleryFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/gallery/CharacterGalleryFragment.kt index 1339adcc..706c8f22 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/gallery/CharacterGalleryFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/gallery/CharacterGalleryFragment.kt @@ -3,11 +3,11 @@ package kr.co.vividnext.sodalive.chat.character.detail.gallery import android.annotation.SuppressLint import android.os.Bundle import android.view.View -import androidx.appcompat.app.AlertDialog import androidx.core.graphics.toColorInt import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView import kr.co.vividnext.sodalive.base.BaseFragment +import kr.co.vividnext.sodalive.base.SodaDialog import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailActivity.Companion.EXTRA_CHARACTER_ID import kr.co.vividnext.sodalive.common.GridSpacingItemDecoration import kr.co.vividnext.sodalive.common.LoadingDialog @@ -119,16 +119,17 @@ class CharacterGalleryFragment : BaseFragment( } private fun showPurchaseDialog(item: CharacterImageListItemResponse, position: Int) { - AlertDialog.Builder(requireActivity()) - .setTitle("[구매 확인]") - .setMessage("선택한 이미지를 구매하시겠습니까?") - .setNegativeButton("취소") { dialog, _ -> - dialog.dismiss() - } - .setPositiveButton("${item.imagePriceCan}캔으로 구매") { dialog, _ -> - dialog.dismiss() + SodaDialog( + activity = requireActivity(), + layoutInflater = this.layoutInflater, + title = "구매 확인", + desc = "선택한 이미지를 구매하시겠습니까?", + confirmButtonTitle = "${item.imagePriceCan}캔으로 구매", + confirmButtonClick = { viewModel.purchaseImage(item.id, position) - }.show() + }, + cancelButtonTitle = "취소" + ).show(screenWidth) } private fun hideLoadingDialog() {