From bcda0720d2bbd967a8d9788b3226b3c0ceee36f2 Mon Sep 17 00:00:00 2001 From: KIM MINJEONG Date: Thu, 11 Jan 2024 13:08:53 +0900 Subject: [PATCH] =?UTF-8?q?#30=20[feat]=20=EA=B3=B5=ED=86=B5=20=EB=B0=94?= =?UTF-8?q?=ED=85=80=20=EC=8B=9C=ED=8A=B8=20=EA=B5=AC=ED=98=84=20=EC=99=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 4 + .../com/sopetit/softie/SoftieApplication.kt | 2 +- .../softie/ui/setting/BottomSheetFragment.kt | 26 ---- .../softie/ui/setting/SettingInitFragment.kt | 40 +++-- .../softie/util/OriginalBottomSheet.kt | 9 +- .../softie/util/binding/BindingBottomSheet.kt | 12 +- app/src/main/res/layout/activity_setting.xml | 3 +- .../main/res/layout/fragment_bottomsheet.xml | 140 ++++++++++-------- .../main/res/layout/fragment_setting_init.xml | 3 +- app/src/main/res/values/themes.xml | 8 +- 10 files changed, 124 insertions(+), 123 deletions(-) delete mode 100644 app/src/main/java/com/sopetit/softie/ui/setting/BottomSheetFragment.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 223b9a56..a4000a8a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -42,6 +42,10 @@ + diff --git a/app/src/main/java/com/sopetit/softie/SoftieApplication.kt b/app/src/main/java/com/sopetit/softie/SoftieApplication.kt index 164075ee..3d881cb1 100644 --- a/app/src/main/java/com/sopetit/softie/SoftieApplication.kt +++ b/app/src/main/java/com/sopetit/softie/SoftieApplication.kt @@ -16,7 +16,7 @@ class SoftieApplication : Application() { if (BuildConfig.DEBUG) Timber.plant(Timber.DebugTree()) AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) -// setStatusBarTransparent() + setStatusBarTransparent() } private fun setStatusBarTransparent() { diff --git a/app/src/main/java/com/sopetit/softie/ui/setting/BottomSheetFragment.kt b/app/src/main/java/com/sopetit/softie/ui/setting/BottomSheetFragment.kt deleted file mode 100644 index 0d8825ff..00000000 --- a/app/src/main/java/com/sopetit/softie/ui/setting/BottomSheetFragment.kt +++ /dev/null @@ -1,26 +0,0 @@ -package com.sopetit.softie.ui.setting - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import com.google.android.material.bottomsheet.BottomSheetDialogFragment -import com.sopetit.softie.databinding.FragmentBottomsheetBinding - -class BottomSheetFragment : BottomSheetDialogFragment() { - - private lateinit var binding: FragmentBottomsheetBinding - - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { - binding = FragmentBottomsheetBinding.inflate(inflater, container, false) - return binding.root - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - } -} diff --git a/app/src/main/java/com/sopetit/softie/ui/setting/SettingInitFragment.kt b/app/src/main/java/com/sopetit/softie/ui/setting/SettingInitFragment.kt index a2c5f8e0..f1a0da20 100644 --- a/app/src/main/java/com/sopetit/softie/ui/setting/SettingInitFragment.kt +++ b/app/src/main/java/com/sopetit/softie/ui/setting/SettingInitFragment.kt @@ -7,6 +7,7 @@ import com.sopetit.softie.R import com.sopetit.softie.databinding.FragmentSettingInitBinding import com.sopetit.softie.ui.setting.SettingActivity.Companion.USER_EXIT import com.sopetit.softie.ui.setting.SettingActivity.Companion.USER_SECURITY +import com.sopetit.softie.util.binding.BindingBottomSheet import com.sopetit.softie.util.binding.BindingFragment class SettingInitFragment : @@ -49,27 +50,20 @@ class SettingInitFragment : private fun clickLogOut() { binding.btnSettingLogout.setOnClickListener { -// BindingBottomSheet.Builder().build( -// image = "https://github.com/Team-Sopetit/Sopetit-Android/assets/128988935/765fdb9d-a29a-4c07-a9f5-852b8c6b3a7f", -// title = "제목", -// content = "내용", -// isContentVisible = true, -// contentColor = R.color.gray300, -// backBtnContent = "돌아가기", -// doBtnContent = "그냥 해", -// doBtnColor = R.drawable.shape_red_fill_12_rect, -// backBtnAction = {}, -// doBtnAction = {} -// ).show(parentFragmentManager, "bottom sheet") - - BottomSheetFragment().show(parentFragmentManager, "bottom") - - // BottomSheet가 뜰 때 다시 적용 -// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { -// requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); -// } -// requireActivity().window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); -// requireActivity().window.setStatusBarColor(Color.TRANSPARENT); + BindingBottomSheet.Builder().build( + isDrawable = true, + imageDrawable = R.drawable.ic_bear_face_crying, + imageUri = "", + title = "제목", + content = "내용", + isContentVisible = true, + contentColor = R.color.gray300, + backBtnContent = "돌아가기", + doBtnContent = "그냥 해", + doBtnColor = R.drawable.shape_red_fill_12_rect, + backBtnAction = {}, + doBtnAction = {} + ).show(parentFragmentManager, BOTTOM_SHEET_TAG) } } @@ -78,4 +72,8 @@ class SettingInitFragment : viewModel.setSettingFragment(USER_EXIT) } } + + companion object { + const val BOTTOM_SHEET_TAG = "BOTTOM SHEET TAG" + } } diff --git a/app/src/main/java/com/sopetit/softie/util/OriginalBottomSheet.kt b/app/src/main/java/com/sopetit/softie/util/OriginalBottomSheet.kt index 8b43e819..5c8a19d2 100644 --- a/app/src/main/java/com/sopetit/softie/util/OriginalBottomSheet.kt +++ b/app/src/main/java/com/sopetit/softie/util/OriginalBottomSheet.kt @@ -23,8 +23,13 @@ class OriginalBottomSheet : BindingBottomSheet() { } override fun setImage() { -// binding.ivBottomSheet.setImageURI(image) - binding.ivBottomSheet.setImage(image) +// binding.ivBottomSheet.setImage(image) +// image?.let { binding.ivBottomSheet.setImageResource(it) } + if (isDrawable == true) { + imageDrawable?.let { binding.ivBottomSheet.setImageResource(it) } + } else { + binding.ivBottomSheet.setImage(imageUri) + } } override fun setTitle() { diff --git a/app/src/main/java/com/sopetit/softie/util/binding/BindingBottomSheet.kt b/app/src/main/java/com/sopetit/softie/util/binding/BindingBottomSheet.kt index 5395033e..5b7d5e77 100644 --- a/app/src/main/java/com/sopetit/softie/util/binding/BindingBottomSheet.kt +++ b/app/src/main/java/com/sopetit/softie/util/binding/BindingBottomSheet.kt @@ -9,7 +9,9 @@ import com.sopetit.softie.util.OriginalBottomSheet abstract class BindingBottomSheet : BottomSheetDialogFragment() { protected var _binding: ViewBinding? = null - protected var image: String? = null + protected var isDrawable: Boolean? = null + protected var imageDrawable: Int? = null + protected var imageUri: String? = null protected var title: String? = null protected var content: String? = null protected var isContentVisible: Boolean? = null @@ -49,7 +51,9 @@ abstract class BindingBottomSheet : BottomSheetDialogFragment() { class Builder() { fun build( - image: String, + isDrawable: Boolean, + imageDrawable: Int, + imageUri: String, title: String, content: String, isContentVisible: Boolean, @@ -62,7 +66,9 @@ abstract class BindingBottomSheet : BottomSheetDialogFragment() { ): BindingBottomSheet { val bottomSheet = OriginalBottomSheet() return bottomSheet.apply { - this.image = image + this.isDrawable = isDrawable + this.imageDrawable = imageDrawable + this.imageUri = imageUri this.title = title this.content = content this.isContentVisible = isContentVisible diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml index 51cc8f3b..6c680657 100644 --- a/app/src/main/res/layout/activity_setting.xml +++ b/app/src/main/res/layout/activity_setting.xml @@ -12,7 +12,8 @@ + android:background="@color/white" + android:fitsSystemWindows="true"> - - - - - - + app:layout_constraintEnd_toEndOf="parent"> - + + + app:layout_constraintEnd_toEndOf="parent" + tools:text="@string/bottom_sheet_title" /> - + + + app:layout_constraintTop_toBottomOf="@id/tv_bottom_sheet_content" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintHorizontal_chainStyle="spread_inside"> + + + + + + diff --git a/app/src/main/res/layout/fragment_setting_init.xml b/app/src/main/res/layout/fragment_setting_init.xml index c743bd04..0008ea06 100644 --- a/app/src/main/res/layout/fragment_setting_init.xml +++ b/app/src/main/res/layout/fragment_setting_init.xml @@ -12,7 +12,8 @@ + android:background="@color/white" + android:fitsSystemWindows="true"> false - - - - + true + true + @android:color/transparent + true