-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
[Design/#37] 개인정보 이용동의, 온보딩 완료 화면 UI 구현
- Loading branch information
Showing
17 changed files
with
423 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
58 changes: 58 additions & 0 deletions
58
app/src/main/java/com/sopt/umbba_android/presentation/login/AgreePrivacyUseActivity.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
package com.sopt.umbba_android.presentation.login | ||
|
||
import android.graphics.Typeface | ||
import android.os.Bundle | ||
import android.text.Spannable | ||
import android.text.SpannableStringBuilder | ||
import android.text.style.StyleSpan | ||
import android.text.util.Linkify | ||
import android.view.View | ||
import android.widget.TextView | ||
import androidx.core.content.ContextCompat | ||
import com.sopt.umbba_android.R | ||
import com.sopt.umbba_android.databinding.ActivityAgreePrivacyUseBinding | ||
import com.sopt.umbba_android.util.binding.BindingActivity | ||
import java.util.regex.Pattern | ||
|
||
class AgreePrivacyUseActivity : BindingActivity<ActivityAgreePrivacyUseBinding>(R.layout.activity_agree_privacy_use) { | ||
|
||
override fun onCreate(savedInstanceState: Bundle?) { | ||
super.onCreate(savedInstanceState) | ||
|
||
setHyperLinkAndColorInTermsTextView() | ||
setHyperLinkAndColorInPrivacyTextView() | ||
} | ||
|
||
private fun setHyperLinkAndColorInTermsTextView() { | ||
with(binding) { | ||
setHyperLinkToTextView("서비스 이용약관", tvAgreeTermsAndCondition, "https://www.notion.so/f1a14bf60ed4421f9b3761ef88906adb?pvs=4") | ||
setLinkTextColorToBlack(tvAgreeTermsAndCondition) | ||
setLinkBold(tvAgreeTermsAndCondition, 13) | ||
} | ||
} | ||
|
||
private fun setHyperLinkAndColorInPrivacyTextView() { | ||
with(binding) { | ||
setHyperLinkToTextView("개인정보 수집 및 이용", tvAgreePrivacy, "https://www.notion.so/99fe0f58825d4f87bd3b987fadc623b6?pvs=4") | ||
setLinkTextColorToBlack(tvAgreePrivacy) | ||
setLinkBold(tvAgreePrivacy, 17) | ||
} | ||
} | ||
|
||
private fun setHyperLinkToTextView(text: String, view: TextView, uri: String) { | ||
val transform = Linkify.TransformFilter { match, url -> "" } | ||
val pattern = Pattern.compile(text) | ||
|
||
Linkify.addLinks(view, pattern, uri, null, transform) | ||
} | ||
|
||
private fun setLinkTextColorToBlack(view: TextView) { | ||
view.setLinkTextColor(ContextCompat.getColor(this, R.color.umbba_black)) | ||
} | ||
|
||
private fun setLinkBold(view: TextView, end: Int) { | ||
val sentence = SpannableStringBuilder(view.text) | ||
sentence.setSpan(StyleSpan(Typeface.BOLD), 5, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) | ||
view.text = sentence | ||
} | ||
} |
12 changes: 12 additions & 0 deletions
12
app/src/main/java/com/sopt/umbba_android/presentation/onboarding/OnboardingFinishActivity.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package com.sopt.umbba_android.presentation.onboarding | ||
|
||
import androidx.appcompat.app.AppCompatActivity | ||
import android.os.Bundle | ||
import com.sopt.umbba_android.R | ||
|
||
class OnboardingFinishActivity : AppCompatActivity() { | ||
override fun onCreate(savedInstanceState: Bundle?) { | ||
super.onCreate(savedInstanceState) | ||
setContentView(R.layout.activity_onboarding_finish) | ||
} | ||
} |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<vector xmlns:android="http://schemas.android.com/apk/res/android" | ||
android:width="48dp" | ||
android:height="48dp" | ||
android:viewportWidth="48" | ||
android:viewportHeight="48"> | ||
<path | ||
android:pathData="M32,18L21,29L16,24" | ||
android:strokeLineJoin="round" | ||
android:strokeWidth="1.5" | ||
android:fillColor="#00000000" | ||
android:strokeColor="#C87759" | ||
android:strokeLineCap="round"/> | ||
</vector> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<vector xmlns:android="http://schemas.android.com/apk/res/android" | ||
android:width="48dp" | ||
android:height="48dp" | ||
android:viewportWidth="48" | ||
android:viewportHeight="48"> | ||
<path | ||
android:pathData="M29,21L22,28L19,25" | ||
android:strokeLineJoin="round" | ||
android:strokeWidth="1.5" | ||
android:fillColor="#00000000" | ||
android:strokeColor="#C87759" | ||
android:strokeLineCap="round"/> | ||
<path | ||
android:pathData="M24,33C28.971,33 33,28.971 33,24C33,19.029 28.971,15 24,15C19.029,15 15,19.029 15,24C15,28.971 19.029,33 24,33Z" | ||
android:strokeLineJoin="round" | ||
android:strokeWidth="1.5" | ||
android:fillColor="#00000000" | ||
android:strokeColor="#C87759" | ||
android:strokeLineCap="round"/> | ||
</vector> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<vector xmlns:android="http://schemas.android.com/apk/res/android" | ||
android:width="48dp" | ||
android:height="48dp" | ||
android:viewportWidth="48" | ||
android:viewportHeight="48"> | ||
<path | ||
android:pathData="M32,18L21,29L16,24" | ||
android:strokeLineJoin="round" | ||
android:strokeWidth="1.5" | ||
android:fillColor="#00000000" | ||
android:strokeColor="#BBADA4" | ||
android:strokeLineCap="round"/> | ||
</vector> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<vector xmlns:android="http://schemas.android.com/apk/res/android" | ||
android:width="48dp" | ||
android:height="48dp" | ||
android:viewportWidth="48" | ||
android:viewportHeight="48"> | ||
<path | ||
android:pathData="M29,21L22,28L19,25" | ||
android:strokeLineJoin="round" | ||
android:strokeWidth="1.5" | ||
android:fillColor="#00000000" | ||
android:strokeColor="#BBADA4" | ||
android:strokeLineCap="round"/> | ||
<path | ||
android:pathData="M24,33C28.971,33 33,28.971 33,24C33,19.029 28.971,15 24,15C19.029,15 15,19.029 15,24C15,28.971 19.029,33 24,33Z" | ||
android:strokeLineJoin="round" | ||
android:strokeWidth="1.5" | ||
android:fillColor="#00000000" | ||
android:strokeColor="#BBADA4" | ||
android:strokeLineCap="round"/> | ||
</vector> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<selector xmlns:android="http://schemas.android.com/apk/res/android"> | ||
<item android:drawable="@drawable/shape_g400_btn_r50_rect" android:state_enabled="false" /> | ||
<item android:drawable="@drawable/shape_pri500_btn_stroke_r50_rect" android:state_enabled="true" /> | ||
</selector> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<shape xmlns:android="http://schemas.android.com/apk/res/android"> | ||
<solid android:color="@color/grey_400" /> | ||
<size android:height="1dp" /> | ||
</shape> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,204 @@ | ||
<?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="match_parent" | ||
android:layout_height="match_parent" | ||
android:background="@color/umbba_white" | ||
tools:context=".presentation.login.AgreePrivacyUseActivity"> | ||
|
||
<ImageView | ||
android:id="@+id/iv_logo" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginTop="60dp" | ||
android:src="@drawable/ic_umbba_logo" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintTop_toTopOf="parent" /> | ||
|
||
<TextView | ||
android:id="@+id/tv_app_title" | ||
style="@style/BrandTypeBigRegular20" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginTop="2dp" | ||
android:text="@string/app_title" | ||
android:textColor="@color/primary_500" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/iv_logo" /> | ||
|
||
<TextView | ||
android:id="@+id/tv_app_description" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginTop="12dp" | ||
android:text="@string/app_description" | ||
android:textColor="@color/primary_500" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/tv_app_title" /> | ||
|
||
<ImageView | ||
android:id="@+id/iv_line1" | ||
android:layout_width="0dp" | ||
android:layout_height="wrap_content" | ||
android:layout_marginHorizontal="30dp" | ||
android:layout_marginTop="88dp" | ||
android:src="@drawable/shape_grey_line_1dp_rect" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/tv_app_description" /> | ||
|
||
<TextView | ||
android:id="@+id/tv_all_agree" | ||
style="@style/AndroidBody1_1SemiBold16" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginStart="28dp" | ||
android:layout_marginTop="48dp" | ||
android:text="@string/all_agree" | ||
android:textColor="@color/umbba_black" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/iv_line1" /> | ||
|
||
<ImageView | ||
android:id="@+id/btn_all_agree_check" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginTop="33dp" | ||
android:layout_marginEnd="28dp" | ||
android:src="@drawable/ic_no_check_48" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/iv_line1" /> | ||
|
||
<TextView | ||
android:id="@+id/tv_all_agree_description" | ||
style="@style/AndroidBody2_2Regular12" | ||
android:layout_width="0dp" | ||
android:layout_height="wrap_content" | ||
android:layout_marginStart="28dp" | ||
android:layout_marginTop="14dp" | ||
android:layout_marginEnd="14dp" | ||
android:text="@string/all_agree_description" | ||
android:textColor="@color/grey_800" | ||
app:layout_constraintEnd_toStartOf="@id/btn_all_agree_check" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/tv_all_agree" /> | ||
|
||
<TextView | ||
android:id="@+id/tv_up_14" | ||
style="@style/AndroidBody2_2Regular12" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginStart="28dp" | ||
android:layout_marginTop="29dp" | ||
android:text="@string/up_14" | ||
android:textColor="@color/umbba_black" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/tv_all_agree_description" /> | ||
|
||
<ImageView | ||
android:id="@+id/btn_up_14" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginTop="12dp" | ||
android:layout_marginEnd="28dp" | ||
android:src="@drawable/ic_no_circle_check_48" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/tv_all_agree_description" /> | ||
|
||
<TextView | ||
android:id="@+id/tv_up_14_description" | ||
style="@style/AndroidCaptionRegular10" | ||
android:layout_width="0dp" | ||
android:layout_height="wrap_content" | ||
android:layout_marginStart="28dp" | ||
android:layout_marginTop="9dp" | ||
android:layout_marginEnd="7dp" | ||
android:text="@string/up_14_description" | ||
android:textColor="@color/grey_800" | ||
app:layout_constraintEnd_toStartOf="@+id/btn_up_14" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/tv_up_14" /> | ||
|
||
<TextView | ||
android:id="@+id/tv_agree_terms_and_condition" | ||
style="@style/AndroidBody2_2Regular12" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginStart="28dp" | ||
android:layout_marginTop="29dp" | ||
android:text="@string/agree_terms_and_condition" | ||
android:textColor="@color/umbba_black" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/tv_up_14_description" /> | ||
|
||
<ImageView | ||
android:id="@+id/btn_agree_terms_and_condition" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:layout_marginTop="12dp" | ||
android:layout_marginEnd="28dp" | ||
android:src="@drawable/ic_no_circle_check_48" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/tv_up_14_description" /> | ||
|
||
<TextView | ||
android:id="@+id/tv_agree_privacy" | ||
style="@style/AndroidBody2_2Regular12" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:text="@string/agree_privacy" | ||
android:textColor="@color/umbba_black" | ||
android:layout_marginStart="28dp" | ||
android:layout_marginTop="34dp" | ||
app:layout_constraintTop_toBottomOf="@id/tv_agree_terms_and_condition" | ||
app:layout_constraintStart_toStartOf="parent"/> | ||
|
||
<ImageView | ||
android:id="@+id/btn_agree_privacy" | ||
android:layout_width="wrap_content" | ||
android:layout_height="wrap_content" | ||
android:src="@drawable/ic_no_circle_check_48" | ||
android:layout_marginEnd="28dp" | ||
android:layout_marginTop="17dp" | ||
app:layout_constraintEnd_toEndOf="parent" | ||
app:layout_constraintTop_toBottomOf="@id/tv_agree_terms_and_condition" /> | ||
|
||
<TextView | ||
android:id="@+id/tv_agree_privacy_description" | ||
style="@style/AndroidCaptionRegular10" | ||
android:layout_width="0dp" | ||
android:layout_height="wrap_content" | ||
android:text="@string/agree_privacy_description" | ||
android:textColor="@color/grey_800" | ||
android:layout_marginTop="9dp" | ||
android:layout_marginStart="28dp" | ||
android:layout_marginEnd="7dp" | ||
app:layout_constraintTop_toBottomOf="@id/tv_agree_privacy" | ||
app:layout_constraintStart_toStartOf="parent" | ||
app:layout_constraintEnd_toStartOf="@id/btn_agree_privacy"/> | ||
|
||
<androidx.appcompat.widget.AppCompatButton | ||
android:id="@+id/btn_next" | ||
style="@style/AndroidBody1_1SemiBold16" | ||
android:layout_width="match_parent" | ||
android:layout_height="60dp" | ||
android:layout_marginHorizontal="21dp" | ||
android:layout_marginVertical="24dp" | ||
android:background="@drawable/sel_btn_next_agree" | ||
android:enabled="false" | ||
android:stateListAnimator="@null" | ||
android:text="@string/btn_start_code" | ||
android:textColor="@color/sel_btn_pri500_text" | ||
app:layout_constraintBottom_toBottomOf="parent" /> | ||
</androidx.constraintlayout.widget.ConstraintLayout> | ||
</layout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.