Skip to content

Commit

Permalink
[Merge] #14 -> develop
Browse files Browse the repository at this point in the history
[UI/#14] study
  • Loading branch information
chattymin authored Jul 25, 2024
2 parents 2170d48 + 6225747 commit eb717f8
Show file tree
Hide file tree
Showing 15 changed files with 446 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.kkkk.presentation.main.study

import com.kkkk.core.base.BaseFragment
import kr.genti.presentation.R
import kr.genti.presentation.databinding.FragmentStudyExerciseBinding

class StudyExerciseFragment: BaseFragment<FragmentStudyExerciseBinding>(R.layout.fragment_study_exercise) {

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,41 @@ package com.kkkk.presentation.main.study

import android.os.Bundle
import android.view.View
import com.google.android.material.tabs.TabLayoutMediator
import com.kkkk.core.base.BaseFragment
import dagger.hilt.android.AndroidEntryPoint
import kr.genti.presentation.R
import kr.genti.presentation.databinding.FragmentStudyBinding

@AndroidEntryPoint
class StudyFragment : BaseFragment<FragmentStudyBinding>(R.layout.fragment_study) {
private val tabTextList = listOf("재활운동", "정보")

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

setTabLayout()
setViewPager()
}

private fun setTabLayout() {
binding.tabStudy.apply {
for (tabName in tabTextList) {
val tab = this.newTab()
tab.text = tabName
this.addTab(tab)
}
}
}

private fun setViewPager() {
binding.vpStudy.adapter = StudyViewPagerAdapter(requireActivity())
binding.vpStudy.isUserInputEnabled = false
TabLayoutMediator(binding.tabStudy, binding.vpStudy) { tab, pos ->
tab.text = tabTextList[pos]
}.attach()
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.kkkk.presentation.main.study

import com.kkkk.core.base.BaseFragment
import kr.genti.presentation.R
import kr.genti.presentation.databinding.FragmentStudyExerciseBinding
import kr.genti.presentation.databinding.FragmentStudyInformationBinding

class StudyInformationFragment: BaseFragment<FragmentStudyInformationBinding>(R.layout.fragment_study_information) {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.kkkk.presentation.main.study

import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter

class StudyViewPagerAdapter(fragment: FragmentActivity) : FragmentStateAdapter(fragment) {
override fun getItemCount(): Int = 2

override fun createFragment(position: Int): Fragment {
return when (position) {
0 -> StudyExerciseFragment()
else -> StudyInformationFragment()
}
}
}
9 changes: 9 additions & 0 deletions presentation/src/main/res/drawable/ic_arrow_left.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M9,17.732C7.667,16.962 7.667,15.038 9,14.268L18,9.072C19.333,8.302 21,9.264 21,10.804L21,21.196C21,22.736 19.333,23.698 18,22.928L9,17.732Z"
android:fillColor="#784DF0"/>
</vector>
9 changes: 9 additions & 0 deletions presentation/src/main/res/drawable/ic_arrow_right.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M23,17.732C24.333,16.962 24.333,15.038 23,14.268L14,9.072C12.667,8.302 11,9.264 11,10.804L11,21.196C11,22.736 12.667,23.698 14,22.928L23,17.732Z"
android:fillColor="#FDFDFD"/>
</vector>
12 changes: 12 additions & 0 deletions presentation/src/main/res/drawable/img_default_content.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="64dp"
android:height="64dp"
android:viewportWidth="64"
android:viewportHeight="64">
<path
android:pathData="M8,0L56,0A8,8 0,0 1,64 8L64,56A8,8 0,0 1,56 64L8,64A8,8 0,0 1,0 56L0,8A8,8 0,0 1,8 0z"
android:fillColor="#DAF3FB"/>
<path
android:pathData="M47.394,17.833H36.349C36.243,17.833 36.152,17.908 36.129,18.008L33.111,32.831C33.062,33.063 32.721,33.063 32.672,32.831L29.651,18.008C29.629,17.908 29.537,17.833 29.432,17.833H18.39C18.144,17.833 17.943,18.028 17.943,18.272V41.979C18.558,41.707 19.239,41.553 19.958,41.553C20.276,41.553 20.594,41.584 20.903,41.643C21.084,41.678 21.203,41.97 21.167,42.147C21.131,42.325 20.956,42.542 20.773,42.507C20.506,42.457 20.231,42.43 19.956,42.43C17.788,42.43 15.997,44.036 15.753,46.098C15.724,46.355 15.936,46.574 16.198,46.574H24.405C24.528,46.574 24.629,46.475 24.629,46.355V24.787C24.629,24.524 25.016,24.484 25.072,24.743L29.539,46.408C29.562,46.508 29.653,46.583 29.759,46.583H36.013C36.118,46.583 36.21,46.511 36.232,46.408L40.706,24.712C40.76,24.453 41.149,24.493 41.149,24.756V41.915C41.723,41.685 42.35,41.555 43.008,41.555C43.326,41.555 43.644,41.586 43.953,41.645C44.134,41.68 44.253,42.073 44.217,42.25C44.181,42.428 44.004,42.544 43.823,42.509C43.556,42.459 43.281,42.433 43.006,42.433C40.838,42.433 39.047,44.038 38.803,46.1C38.774,46.355 38.986,46.576 39.248,46.576L47.612,46.583C47.623,46.583 47.634,46.579 47.645,46.576H47.679V46.57C47.768,46.541 47.833,46.462 47.833,46.364V18.272C47.833,18.03 47.632,17.833 47.386,17.833H47.394Z"
android:fillColor="#54D1F9"/>
</vector>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="1dp" />
<stroke android:color="@color/gray_200" />
<corners android:radius="8dp" />
</shape>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/purple_50" />
<corners
android:radius="12dp" />
</shape>
24 changes: 19 additions & 5 deletions presentation/src/main/res/layout/fragment_study.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,29 @@
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
style="@style/TextAppearance.Stempo.Head1"
android:layout_width="wrap_content"
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_study"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="학습"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tabIndicatorColor="@color/purple_50"
app:tabIndicatorFullWidth="true"
app:tabIndicatorHeight="4dp"
app:tabRippleColor="@android:color/white"
app:tabSelectedTextColor="@color/black"
app:tabTextAppearance="@style/TextAppearance.Stempo.Head3"
app:tabTextColor="@color/gray_500" />

<androidx.viewpager2.widget.ViewPager2
android:id="@+id/vp_study"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintTop_toBottomOf="@id/tab_study" />

</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
96 changes: 96 additions & 0 deletions presentation/src/main/res/layout/fragment_study_exercise.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<?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">

<data>

</data>

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<include
android:id="@+id/item_study_exercise_1"
layout="@layout/item_study_exercise"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="14dp"
app:layout_constraintBottom_toTopOf="@id/item_study_exercise_2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<include
android:id="@+id/item_study_exercise_2"
layout="@layout/item_study_exercise"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="14dp"
app:layout_constraintBottom_toTopOf="@id/btn_study_exercise_before"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/item_study_exercise_1" />

<LinearLayout
android:id="@+id/btn_study_exercise_before"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/shape_purple10_fill_12_rect"
android:gravity="center"
android:paddingVertical="11dp"
android:paddingStart="16dp"
android:paddingEnd="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/btn_study_exercise_next"
app:layout_constraintStart_toStartOf="parent">

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_arrow_left" />

<TextView
style="@style/TextAppearance.Stempo.Head4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/before_page"
android:textColor="@color/purple_50" />
</LinearLayout>

<LinearLayout
android:id="@+id/btn_study_exercise_next"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="18dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/shape_purple50_fill_12_rect"
android:gravity="center"
android:paddingVertical="11dp"
android:paddingStart="30dp"
android:paddingEnd="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/btn_study_exercise_before">

<TextView
style="@style/TextAppearance.Stempo.Head4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/next_page"
android:textColor="@color/white" />

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_arrow_right" />
</LinearLayout>


</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
103 changes: 103 additions & 0 deletions presentation/src/main/res/layout/fragment_study_information.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<?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">

<data>

</data>

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<include
android:id="@+id/item_study_information_1"
layout="@layout/item_study_information"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
app:layout_constraintBottom_toTopOf="@id/item_study_information_2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<include
android:id="@+id/item_study_information_2"
layout="@layout/item_study_information"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
app:layout_constraintBottom_toTopOf="@id/item_study_information_3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/item_study_information_1" />

<include
android:id="@+id/item_study_information_3"
layout="@layout/item_study_information"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
app:layout_constraintBottom_toTopOf="@id/btn_study_information_before"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/item_study_information_2" />

<LinearLayout
android:id="@+id/btn_study_information_before"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/shape_purple10_fill_12_rect"
android:gravity="center"
android:paddingVertical="11dp"
android:paddingStart="16dp"
android:paddingEnd="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/btn_study_information_next"
app:layout_constraintStart_toStartOf="parent">

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_arrow_left" />

<TextView
style="@style/TextAppearance.Stempo.Head4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/before_page"
android:textColor="@color/purple_50" />
</LinearLayout>

<LinearLayout
android:id="@+id/btn_study_information_next"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="18dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:background="@drawable/shape_purple50_fill_12_rect"
android:gravity="center"
android:paddingVertical="11dp"
android:paddingStart="30dp"
android:paddingEnd="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/btn_study_information_before">

<TextView
style="@style/TextAppearance.Stempo.Head4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/next_page"
android:textColor="@color/white" />

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_arrow_right" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
Loading

0 comments on commit eb717f8

Please sign in to comment.