Skip to content

Commit

Permalink
Merge pull request #116 from team-winey/feature/ui-dialog-design
Browse files Browse the repository at this point in the history
[ui] ๋‹ค์ด์–ผ๋กœ๊ทธ / ๋‹ค์ด์–ผ๋กœ๊ทธ ๋””์ž์ธ ํ†ต์ผ
  • Loading branch information
leeeha authored Aug 17, 2023
2 parents a9a31cf + 1966ad3 commit 7b72caf
Show file tree
Hide file tree
Showing 5 changed files with 152 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.android.go.sopt.winey.presentation.main

import android.os.Bundle
import android.view.View
import com.android.go.sopt.winey.R
import com.android.go.sopt.winey.databinding.FragmentAlertDialogBinding
import com.android.go.sopt.winey.util.binding.BindingDialogFragment

class AlertDialogFragment(
val title: String,
val subTitle: String,
val negativeButtonLabel: String,
val positiveButtonLabel: String,
val handleNegativeButton: () -> Unit,
val handlePositiveButton: () -> Unit
) :
BindingDialogFragment<FragmentAlertDialogBinding>(R.layout.fragment_alert_dialog) {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

initDialogText(title, subTitle, positiveButtonLabel, negativeButtonLabel)
initNegativeButtonClickListener(handleNegativeButton)
initPositiveButtonClickListener(handlePositiveButton)
}

private fun initDialogText(title: String, subTitle: String, positiveButtonLabel: String, negativeButtonLabel: String) {
binding.tvDialogTitle.text = title
binding.tvDialogSub.text = subTitle
binding.btnDialogPositive.text = positiveButtonLabel
binding.btnDialogNegative.text = negativeButtonLabel
}

private fun initNegativeButtonClickListener(handleNegativeButton: () -> Unit) {
binding.btnDialogNegative.setOnClickListener {
handleNegativeButton.invoke()
dismiss()
}
}

private fun initPositiveButtonClickListener(handlePositiveButton: () -> Unit) {
binding.btnDialogPositive.setOnClickListener {
handlePositiveButton.invoke()
dismiss()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,13 @@ import com.android.go.sopt.winey.R
import com.android.go.sopt.winey.databinding.FragmentMyPageBinding
import com.android.go.sopt.winey.domain.entity.User
import com.android.go.sopt.winey.domain.repository.DataStoreRepository
import com.android.go.sopt.winey.presentation.main.AlertDialogFragment
import com.android.go.sopt.winey.presentation.main.MainViewModel
import com.android.go.sopt.winey.presentation.main.mypage.myfeed.MyFeedFragment
import com.android.go.sopt.winey.util.binding.BindingFragment
import com.android.go.sopt.winey.util.context.stringOf
import com.android.go.sopt.winey.util.fragment.snackBar
import com.android.go.sopt.winey.util.fragment.stringOf
import com.android.go.sopt.winey.util.view.UiState
import com.android.go.sopt.winey.util.view.setOnSingleClickListener
import dagger.hilt.android.AndroidEntryPoint
Expand Down Expand Up @@ -69,7 +72,15 @@ class MyPageFragment : BindingFragment<FragmentMyPageBinding>(R.layout.fragment_

private fun initLogoutButtonClickListener() {
binding.clMypageLogout.setOnClickListener {
viewModel.postLogout()
val dialog = AlertDialogFragment(
stringOf(R.string.mypage_dialog_title),
stringOf(R.string.mypage_dialog_subtitle),
stringOf(R.string.mypage_dialog_negativebutton),
stringOf(R.string.mypage_dialog_positivebutton),
handleNegativeButton = {},
handlePositiveButton = { viewModel.postLogout() }
)
dialog.show(this.childFragmentManager, dialog.tag)
}
}

Expand Down
75 changes: 75 additions & 0 deletions app/src/main/res/layout/fragment_alert_dialog.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">

<data>

</data>

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/shape_gray_fill_12_rect"
android:elevation="0dp"
android:paddingHorizontal="14dp"
android:paddingBottom="16dp"
android:stateListAnimator="@null">

<TextView
android:id="@+id/tv_dialog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:textAppearance="@style/TextAppearance.WINEY.body_b_18"
android:textColor="@color/gray_900"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="@string/alert_title" />

<TextView
android:id="@+id/tv_dialog_sub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.WINEY.detail_m_13"
android:textColor="@color/gray_500"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_dialog_title"
tools:text="@string/alert_subtitle" />

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btn_dialog_negative"
android:layout_width="124dp"
android:layout_height="52dp"
android:layout_marginTop="18dp"
android:background="@drawable/shape_gray_fill_5_rect"
android:stateListAnimator="@null"
android:textAppearance="@style/TextAppearance.WINEY.body_m_16"
android:textColor="@color/gray_500"
app:layout_constraintEnd_toStartOf="@id/btn_dialog_positive"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_dialog_sub"
tools:text="@string/alert_btn1" />

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btn_dialog_positive"
android:layout_width="124dp"
android:layout_height="52dp"
android:layout_marginStart="4dp"
android:layout_marginTop="18dp"
android:background="@drawable/shape_yellow_fill_5_rect"
android:stateListAnimator="@null"
android:textAppearance="@style/TextAppearance.WINEY.body_m_16"
android:textColor="@color/gray_900"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/btn_dialog_negative"
app:layout_constraintTop_toBottomOf="@id/tv_dialog_sub"
tools:text="@string/alert_btn2" />

</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
26 changes: 8 additions & 18 deletions app/src/main/res/layout/fragment_mypage_not_over_dialog.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,35 +12,25 @@
android:layout_height="wrap_content"
android:background="@drawable/shape_gray0_fill_12_rect">

<ImageView
android:id="@+id/iv_impossible_dialog_warning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:src="@drawable/ic_impossible_dialog_warning"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/tv_impossible_dialog_warning"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:layout_marginTop="24dp"
android:gravity="center"
android:text="@string/impossible_dialog_message"
android:textAppearance="@style/TextAppearance.WINEY.body_b_16"
android:textAppearance="@style/TextAppearance.WINEY.body_b_18"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_impossible_dialog_warning" />
app:layout_constraintTop_toTopOf="parent" />

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btn_impossible_dialog_cancel"
android:layout_width="232dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="24dp"
android:layout_marginTop="20dp"
android:layout_marginBottom="18dp"
android:layout_width="252dp"
android:layout_height="52dp"
android:layout_marginHorizontal="14dp"
android:layout_marginTop="18dp"
android:layout_marginBottom="16dp"
android:background="@drawable/shape_yellow_fill_10_rect"
android:backgroundTint="@color/gray_200"
android:stateListAnimator="@null"
Expand Down
10 changes: 10 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@
<string name="mypage_1on1"><u>1:1 ๋ฌธ์˜</u></string>
<string name="mypage_withdraw">ํƒˆํ‡ดํ•˜๊ธฐ</string>
<string name="mypage_logout">๋กœ๊ทธ์•„์›ƒ</string>
<string name="mypage_dialog_title">์ •๋ง ๋กœ๊ทธ์•„์›ƒ ํ•˜์‹œ๊ฒ ์–ด์š”?</string>
<string name="mypage_dialog_subtitle">๋กœ๊ทธ์•„์›ƒ ํ›„ ์žฅ๊ธฐ๊ฐ„ ๋ฏธ์ ‘์† ์‹œ\n๋ ˆ๋ฒจ์ด ๋‚ด๋ ค๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.</string>
<string name="mypage_dialog_negativebutton">์ทจ์†Œ</string>
<string name="mypage_dialog_positivebutton">๋กœ๊ทธ์•„์›ƒํ•˜๊ธฐ</string>

<string name="target_amount_cancel">์ทจ์†Œ</string>
<string name="target_amount_set_amount">๋ชฉํ‘œ ์ ˆ์•ฝ ๊ธˆ์•ก์„ ์„ค์ •ํ•ด์ฃผ์„ธ์š”</string>
Expand Down Expand Up @@ -139,4 +143,10 @@
<string name="story_winey_country_second_speech_bubble">ํฅ์ฒญ๋ง์ฒญ ๋ˆ์„ ์“ฐ์…” ์œ„๋‹ˆ์ œ๊ตญ์˜\nํ™ฉ์ œ ์ž๊ฒฉ์„ ๋ฐ•ํƒˆ๋‹นํ•˜์…จ์Šต๋‹ˆ๋‹ค.</string>
<string name="story_winey_country_third_speech_bubble">์ ˆ์•ฝ ๋ชฉํ‘œ ๊ธˆ์•ก์„ ์ฑ„์šฐ์‹œ๋ฉด, ๋‹ค์‹œ ํ™ฉ์ œ๋กœ\n๋Œ์•„์˜ค์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋ต™๊ธฐ๋ฅผ ๋ฐ”๋ผ๋ฉฐโ€ฆ</string>
<string name="story_nav_num_preview">1/3</string>

<!-- alert -->
<string name="alert_title">ํƒ€์ดํ‹€ ๋ฉ”์‹œ์ง€ ์ž…๋‹ˆ๋‹ค.</string>
<string name="alert_subtitle">์„œ๋ธŒ ๋ฉ”์‹œ์ง€ ์ž…๋‹ˆ๋‹ค.\n์„œ๋ธŒ ๋ฉ”์‹œ์ง€ ์ž…๋‹ˆ๋‹ค.</string>
<string name="alert_btn1">๋ฒ„ํŠผ1</string>
<string name="alert_btn2">๋ฒ„ํŠผ2</string>
</resources>

0 comments on commit 7b72caf

Please sign in to comment.