Skip to content

Commit

Permalink
Merge pull request #60 from Team-Motivoo/feat/#59-terms-view-correction
Browse files Browse the repository at this point in the history
[ui] 터치영역 수정
  • Loading branch information
l2zh committed Jan 17, 2024
2 parents 2cd2267 + 78b1268 commit ce2014e
Show file tree
Hide file tree
Showing 3 changed files with 195 additions and 129 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package sopt.motivoo.presentation.intro

import android.os.Bundle
import android.view.View
import android.widget.CheckBox
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import dagger.hilt.android.AndroidEntryPoint
Expand All @@ -28,24 +29,48 @@ class TermsOfUseFragment :
clickDoneButton()
setupCheckAllListener()
goToTermsWebFragment()
setupTermsCheckListeners()
}

private fun setupTermsCheckListeners() {
binding.clTermsOfUseAll.setOnSingleClickListener {
toggleCheckBox(binding.cbCheckAll)
termsOfUseViewModel.setAllTermsChecked(binding.cbCheckAll.isChecked)
}

binding.clTermsOfUse.setOnSingleClickListener {
toggleCheckBox(binding.cbTermsOfUseAccess)
}

binding.clTermsGetInfo.setOnSingleClickListener {
toggleCheckBox(binding.cbTermsGetInfoAccess)
}

binding.clTermsUseInfo.setOnSingleClickListener {
toggleCheckBox(binding.cbTermsUseInfoAccess)
}
}

private fun toggleCheckBox(checkBox: CheckBox) {
checkBox.isChecked = !checkBox.isChecked
}

private fun goToTermsWebFragment() {
binding.tvTermsOfUseLink.setOnSingleClickListener {
val action = TermsOfUseFragmentDirections
.actionTermsOfUseFragmentToWebViewFragment("https://gayeong04.notion.site/82b7d6d8cc3f4091aa0a3b41bbfc6c62?pvs=4")
.actionTermsOfUseFragmentToWebViewFragment(getString(R.string.terms_of_use_lnk))
findNavController().navigate(action)
}

binding.tvTermsGetInfoLink.setOnSingleClickListener {
val action = TermsOfUseFragmentDirections
.actionTermsOfUseFragmentToWebViewFragment("https://gayeong04.notion.site/e85e6a92bcce43bbac61c0de4e79cd14?pvs=4")
.actionTermsOfUseFragmentToWebViewFragment(getString(R.string.terms_of_get_info_lnk))
findNavController().navigate(action)
}

binding.tvTermsUseInfoLink.setOnSingleClickListener {
val action = TermsOfUseFragmentDirections
.actionTermsOfUseFragmentToWebViewFragment("https://gayeong04.notion.site/df1e215e4b2248d28a913ea27788a777?pvs=4")
.actionTermsOfUseFragmentToWebViewFragment(getString(R.string.terms_of_use_info_lnk))
findNavController().navigate(action)
}
}
Expand Down
290 changes: 164 additions & 126 deletions app/src/main/res/layout/fragment_terms_of_use.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,66 +17,86 @@
<include
android:id="@+id/include_terms_toolbar"
layout="@layout/view_onboarding_toolbar"
app:layout_constraintTop_toTopOf="parent"
app:title="@{@string/terms_title}" />

<CheckBox
android:id="@+id/cb_check_all"
android:layout_width="24dp"
android:layout_height="24dp"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_terms_of_use_all"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="37dp"
android:background="@drawable/selector_checkbox"
android:button="@android:color/transparent"
android:checked="@={termsOfViewModel.termsAllCheckState}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/include_terms_toolbar" />

<TextView
android:id="@+id/tv_terms_of_use_all"
style="@style/H7_semi"
android:layout_width="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/include_terms_toolbar">

<CheckBox
android:id="@+id/cb_check_all"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="@drawable/selector_checkbox"
android:button="@android:color/transparent"
android:checked="@={termsOfViewModel.termsAllCheckState}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/tv_terms_of_use_all"
style="@style/H7_semi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/terms_all"
android:textColor="@color/gray_900_161616"
app:layout_constraintBottom_toBottomOf="@+id/cb_check_all"
app:layout_constraintStart_toEndOf="@+id/cb_check_all"
app:layout_constraintTop_toTopOf="@+id/cb_check_all" />

</androidx.constraintlayout.widget.ConstraintLayout>

<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_terms_of_use"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/terms_all"
android:textColor="@color/gray_900_161616"
app:layout_constraintBottom_toBottomOf="@+id/cb_check_all"
app:layout_constraintStart_toEndOf="@+id/cb_check_all"
app:layout_constraintTop_toTopOf="@+id/cb_check_all" />

<CheckBox
android:id="@+id/cb_terms_of_use_access"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginTop="39dp"
android:background="@drawable/selector_checkbox"
android:button="@android:color/transparent"
android:checked="@={termsOfViewModel.termsOfUseState}"
app:layout_constraintStart_toStartOf="@+id/cb_check_all"
app:layout_constraintTop_toBottomOf="@+id/cb_check_all" />

<TextView
android:id="@+id/tv_terms_of_use_access"
style="@style/B6_re"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/terms_of_use_access"
android:textColor="@color/gray_900_161616"
app:layout_constraintBottom_toBottomOf="@+id/cb_terms_of_use_access"
app:layout_constraintStart_toEndOf="@+id/cb_terms_of_use_access"
app:layout_constraintTop_toTopOf="@+id/cb_terms_of_use_access" />

<TextView
android:id="@+id/tv_terms_of_use_essential"
style="@style/B6_re"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:text="@string/permission_essential"
android:textColor="@color/pink_FF19A3"
app:layout_constraintBottom_toBottomOf="@+id/tv_terms_of_use_access"
app:layout_constraintStart_toEndOf="@+id/tv_terms_of_use_access"
app:layout_constraintTop_toTopOf="@+id/tv_terms_of_use_access" />
app:layout_constraintStart_toStartOf="@id/cl_terms_of_use_all"
app:layout_constraintTop_toBottomOf="@+id/cl_terms_of_use_all">


<CheckBox
android:id="@+id/cb_terms_of_use_access"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="@drawable/selector_checkbox"
android:button="@android:color/transparent"
android:checked="@={termsOfViewModel.termsOfUseState}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/tv_terms_of_use_access"
style="@style/B6_re"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/terms_of_use_access"
android:textColor="@color/gray_900_161616"
app:layout_constraintBottom_toBottomOf="@+id/cb_terms_of_use_access"
app:layout_constraintStart_toEndOf="@+id/cb_terms_of_use_access"
app:layout_constraintTop_toTopOf="@+id/cb_terms_of_use_access" />

<TextView
android:id="@+id/tv_terms_of_use_essential"
style="@style/B6_re"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:text="@string/permission_essential"
android:textColor="@color/pink_FF19A3"
app:layout_constraintBottom_toBottomOf="@+id/tv_terms_of_use_access"
app:layout_constraintStart_toEndOf="@+id/tv_terms_of_use_access"
app:layout_constraintTop_toTopOf="@+id/tv_terms_of_use_access" />

</androidx.constraintlayout.widget.ConstraintLayout>

<TextView
android:id="@+id/tv_terms_of_use_link"
Expand All @@ -87,44 +107,53 @@
android:paddingVertical="8dp"
android:text="@string/terms_of_use_link"
android:textColor="@color/gray_500_9D9EA0"
app:layout_constraintBottom_toBottomOf="@+id/tv_terms_of_use_essential"
app:layout_constraintBottom_toBottomOf="@+id/cl_terms_of_use"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tv_terms_of_use_essential" />

<CheckBox
android:id="@+id/cb_terms_get_info_access"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginTop="20dp"
android:background="@drawable/selector_checkbox"
android:button="@android:color/transparent"
android:checked="@={termsOfViewModel.termsGetInfoState}"
app:layout_constraintStart_toStartOf="@+id/cb_terms_of_use_access"
app:layout_constraintTop_toBottomOf="@+id/cb_terms_of_use_access" />

<TextView
android:id="@+id/tv_terms_get_info_access"
style="@style/B6_re"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/terms_get_info_access"
android:textColor="@color/gray_900_161616"
app:layout_constraintBottom_toBottomOf="@+id/cb_terms_get_info_access"
app:layout_constraintStart_toEndOf="@+id/cb_terms_get_info_access"
app:layout_constraintTop_toTopOf="@+id/cb_terms_get_info_access" />
app:layout_constraintTop_toTopOf="@+id/cl_terms_of_use" />

<TextView
android:id="@+id/tv_terms_get_info_essential"
style="@style/B6_re"
android:layout_width="wrap_content"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_terms_get_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:text="@string/permission_essential"
android:textColor="@color/pink_FF19A3"
app:layout_constraintBottom_toBottomOf="@+id/tv_terms_get_info_access"
app:layout_constraintStart_toEndOf="@+id/tv_terms_get_info_access"
app:layout_constraintTop_toTopOf="@+id/tv_terms_get_info_access" />
android:layout_marginTop="20dp"
app:layout_constraintStart_toStartOf="@+id/cl_terms_of_use"
app:layout_constraintTop_toBottomOf="@+id/cl_terms_of_use">

<CheckBox
android:id="@+id/cb_terms_get_info_access"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="@drawable/selector_checkbox"
android:button="@android:color/transparent"
android:checked="@={termsOfViewModel.termsGetInfoState}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/tv_terms_get_info_access"
style="@style/B6_re"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/terms_get_info_access"
android:textColor="@color/gray_900_161616"
app:layout_constraintBottom_toBottomOf="@+id/cb_terms_get_info_access"
app:layout_constraintStart_toEndOf="@+id/cb_terms_get_info_access"
app:layout_constraintTop_toTopOf="@+id/cb_terms_get_info_access" />

<TextView
android:id="@+id/tv_terms_get_info_essential"
style="@style/B6_re"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:text="@string/permission_essential"
android:textColor="@color/pink_FF19A3"
app:layout_constraintBottom_toBottomOf="@+id/tv_terms_get_info_access"
app:layout_constraintStart_toEndOf="@+id/tv_terms_get_info_access"
app:layout_constraintTop_toTopOf="@+id/tv_terms_get_info_access" />

</androidx.constraintlayout.widget.ConstraintLayout>

<TextView
android:id="@+id/tv_terms_get_info_link"
Expand All @@ -135,45 +164,54 @@
android:paddingVertical="8dp"
android:text="@string/terms_of_use_link"
android:textColor="@color/gray_500_9D9EA0"
app:layout_constraintBottom_toBottomOf="@+id/tv_terms_get_info_essential"
app:layout_constraintBottom_toBottomOf="@+id/cl_terms_get_info"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tv_terms_get_info_essential" />


<CheckBox
android:id="@+id/cb_terms_use_info_access"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginTop="20dp"
android:background="@drawable/selector_checkbox"
android:button="@android:color/transparent"
android:checked="@={termsOfViewModel.termsUseInfoState}"
app:layout_constraintStart_toStartOf="@+id/cb_terms_get_info_access"
app:layout_constraintTop_toBottomOf="@+id/cb_terms_get_info_access" />
app:layout_constraintTop_toTopOf="@+id/cl_terms_get_info" />

<TextView
android:id="@+id/tv_terms_use_info_access"
style="@style/B6_re"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/terms_use_info_access"
android:textColor="@color/gray_900_161616"
app:layout_constraintBottom_toBottomOf="@+id/cb_terms_use_info_access"
app:layout_constraintStart_toEndOf="@+id/cb_terms_use_info_access"
app:layout_constraintTop_toTopOf="@+id/cb_terms_use_info_access" />

<TextView
android:id="@+id/tv_terms_use_info_essential"
style="@style/B6_re"
android:layout_width="wrap_content"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_terms_use_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:text="@string/permission_essential"
android:textColor="@color/pink_FF19A3"
app:layout_constraintBottom_toBottomOf="@+id/tv_terms_use_info_access"
app:layout_constraintStart_toEndOf="@+id/tv_terms_use_info_access"
app:layout_constraintTop_toTopOf="@+id/tv_terms_use_info_access" />
android:layout_marginTop="20dp"
app:layout_constraintStart_toStartOf="@+id/cl_terms_get_info"
app:layout_constraintTop_toBottomOf="@+id/cl_terms_get_info">


<CheckBox
android:id="@+id/cb_terms_use_info_access"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="@drawable/selector_checkbox"
android:button="@android:color/transparent"
android:checked="@={termsOfViewModel.termsUseInfoState}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/tv_terms_use_info_access"
style="@style/B6_re"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="@string/terms_use_info_access"
android:textColor="@color/gray_900_161616"
app:layout_constraintBottom_toBottomOf="@+id/cb_terms_use_info_access"
app:layout_constraintStart_toEndOf="@+id/cb_terms_use_info_access"
app:layout_constraintTop_toTopOf="@+id/cb_terms_use_info_access" />

<TextView
android:id="@+id/tv_terms_use_info_essential"
style="@style/B6_re"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:text="@string/permission_essential"
android:textColor="@color/pink_FF19A3"
app:layout_constraintBottom_toBottomOf="@+id/tv_terms_use_info_access"
app:layout_constraintStart_toEndOf="@+id/tv_terms_use_info_access"
app:layout_constraintTop_toTopOf="@+id/tv_terms_use_info_access" />

</androidx.constraintlayout.widget.ConstraintLayout>

<TextView
android:id="@+id/tv_terms_use_info_link"
Expand All @@ -184,9 +222,9 @@
android:paddingVertical="8dp"
android:text="@string/terms_of_use_link"
android:textColor="@color/gray_500_9D9EA0"
app:layout_constraintBottom_toBottomOf="@+id/tv_terms_use_info_essential"
app:layout_constraintBottom_toBottomOf="@+id/cl_terms_use_info"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tv_terms_use_info_essential" />
app:layout_constraintTop_toTopOf="@+id/cl_terms_use_info" />

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btn_terms_of_use_done"
Expand Down
Loading

0 comments on commit ce2014e

Please sign in to comment.