diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml
index b268ef3..226b0d5 100644
--- a/.idea/deploymentTargetSelector.xml
+++ b/.idea/deploymentTargetSelector.xml
@@ -4,6 +4,14 @@
+
+
+
+
+
+
+
+
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 0cb28ea..025284f 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -52,4 +52,8 @@ dependencies {
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
+
+ // NAVIGATION
+ implementation(libs.androidx.navigation.fragment)
+ implementation(libs.androidx.navigation.ui)
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 35acd45..0839b33 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -6,9 +6,9 @@
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
- android:icon="@mipmap/ic_launcher"
+ android:icon="@mipmap/ic_logo"
android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_launcher_round"
+ android:roundIcon="@mipmap/ic_logo"
android:supportsRtl="true"
android:theme="@style/Theme.Snow"
tools:targetApi="31">
diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png
new file mode 100644
index 0000000..0af958a
Binary files /dev/null and b/app/src/main/ic_launcher-playstore.png differ
diff --git a/app/src/main/java/kr/hs/anu/snow/ui/home/fragment/HomeFragment.kt b/app/src/main/java/kr/hs/anu/snow/ui/home/fragment/HomeFragment.kt
new file mode 100644
index 0000000..abb7022
--- /dev/null
+++ b/app/src/main/java/kr/hs/anu/snow/ui/home/fragment/HomeFragment.kt
@@ -0,0 +1,38 @@
+package kr.hs.anu.snow.ui.home.fragment
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import kr.hs.anu.snow.databinding.FragmentHomeBinding
+
+class HomeFragment : Fragment() {
+
+ private var _binding: FragmentHomeBinding? = null
+ private val binding get() = _binding!!
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ arguments?.let {
+ }
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ _binding = FragmentHomeBinding.inflate(inflater, container, false)
+ return binding.root
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ }
+
+ override fun onDestroyView() {
+ super.onDestroyView()
+ _binding = null
+ }
+}
diff --git a/app/src/main/java/kr/hs/anu/snow/ui/main/MainActivity.kt b/app/src/main/java/kr/hs/anu/snow/ui/main/MainActivity.kt
index 514d3e2..3d87faa 100644
--- a/app/src/main/java/kr/hs/anu/snow/ui/main/MainActivity.kt
+++ b/app/src/main/java/kr/hs/anu/snow/ui/main/MainActivity.kt
@@ -5,11 +5,16 @@ import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
+import androidx.navigation.NavController
+import androidx.navigation.fragment.NavHostFragment
+import androidx.navigation.ui.NavigationUI
+import androidx.navigation.ui.setupWithNavController
import kr.hs.anu.snow.R
import kr.hs.anu.snow.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
+ private lateinit var navController: NavController
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -22,5 +27,21 @@ class MainActivity : AppCompatActivity() {
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
+
+ setNavigation()
+ }
+
+ private fun setNavigation() {
+ val navHostFragment =
+ supportFragmentManager.findFragmentById(R.id.fcv_main) as NavHostFragment
+ navController = navHostFragment.navController
+ binding.bnvMain.apply {
+ setupWithNavController(navController)
+ setOnItemSelectedListener { item ->
+ NavigationUI.onNavDestinationSelected(item, navController)
+ navController.popBackStack(item.itemId, inclusive = false)
+ true
+ }
+ }
}
}
diff --git a/app/src/main/res/drawable/ic_round_home.xml b/app/src/main/res/drawable/ic_round_home.xml
new file mode 100644
index 0000000..17eea4b
--- /dev/null
+++ b/app/src/main/res/drawable/ic_round_home.xml
@@ -0,0 +1,13 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_round_note.xml b/app/src/main/res/drawable/ic_round_note.xml
new file mode 100644
index 0000000..151455c
--- /dev/null
+++ b/app/src/main/res/drawable/ic_round_note.xml
@@ -0,0 +1,9 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_round_user.xml b/app/src/main/res/drawable/ic_round_user.xml
new file mode 100644
index 0000000..4b38df1
--- /dev/null
+++ b/app/src/main/res/drawable/ic_round_user.xml
@@ -0,0 +1,9 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/menu_selector_color.xml b/app/src/main/res/drawable/menu_selector_color.xml
new file mode 100644
index 0000000..f196cfd
--- /dev/null
+++ b/app/src/main/res/drawable/menu_selector_color.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/menu_text_color.xml b/app/src/main/res/drawable/menu_text_color.xml
new file mode 100644
index 0000000..b46f14b
--- /dev/null
+++ b/app/src/main/res/drawable/menu_text_color.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/font/pretendard_black.otf b/app/src/main/res/font/pretendard_black.otf
new file mode 100644
index 0000000..a0d849e
Binary files /dev/null and b/app/src/main/res/font/pretendard_black.otf differ
diff --git a/app/src/main/res/font/pretendard_bold.otf b/app/src/main/res/font/pretendard_bold.otf
new file mode 100644
index 0000000..8e5e30a
Binary files /dev/null and b/app/src/main/res/font/pretendard_bold.otf differ
diff --git a/app/src/main/res/font/pretendard_light.otf b/app/src/main/res/font/pretendard_light.otf
new file mode 100644
index 0000000..228679e
Binary files /dev/null and b/app/src/main/res/font/pretendard_light.otf differ
diff --git a/app/src/main/res/font/pretendard_medium.otf b/app/src/main/res/font/pretendard_medium.otf
new file mode 100644
index 0000000..0575069
Binary files /dev/null and b/app/src/main/res/font/pretendard_medium.otf differ
diff --git a/app/src/main/res/font/pretendard_regular.otf b/app/src/main/res/font/pretendard_regular.otf
new file mode 100644
index 0000000..08bf4cf
Binary files /dev/null and b/app/src/main/res/font/pretendard_regular.otf differ
diff --git a/app/src/main/res/font/pretendard_thin.otf b/app/src/main/res/font/pretendard_thin.otf
new file mode 100644
index 0000000..77e792d
Binary files /dev/null and b/app/src/main/res/font/pretendard_thin.otf differ
diff --git a/app/src/main/res/font/pretendard_variable.ttf b/app/src/main/res/font/pretendard_variable.ttf
new file mode 100644
index 0000000..32b0811
Binary files /dev/null and b/app/src/main/res/font/pretendard_variable.ttf differ
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 0a1ea2a..638269e 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -7,13 +7,27 @@
android:layout_height="match_parent"
tools:context=".ui.main.MainActivity">
-
+ app:layout_constraintTop_toTopOf="parent"
+ app:navGraph="@navigation/nav_graph" />
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
new file mode 100644
index 0000000..b269408
--- /dev/null
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/nav_menu.xml b/app/src/main/res/menu/nav_menu.xml
new file mode 100644
index 0000000..b8295c4
--- /dev/null
+++ b/app/src/main/res/menu/nav_menu.xml
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..92fe3b6
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..92fe3b6
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi/ic_launcher.xml b/app/src/main/res/mipmap-anydpi/ic_launcher.xml
deleted file mode 100644
index 6f3b755..0000000
--- a/app/src/main/res/mipmap-anydpi/ic_launcher.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml
deleted file mode 100644
index 6f3b755..0000000
--- a/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
index c209e78..6f249ac 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.webp and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
index b2dfe3d..92410eb 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_logo.webp b/app/src/main/res/mipmap-hdpi/ic_logo.webp
new file mode 100644
index 0000000..cb8c66a
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_logo.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
index 4f0f1d6..f1dfc45 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.webp and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
index 62b611d..8ff06df 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_logo.webp b/app/src/main/res/mipmap-mdpi/ic_logo.webp
new file mode 100644
index 0000000..7ae1d82
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_logo.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
index 948a307..f853fa3 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
index 1b9a695..21a5735 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_logo.webp b/app/src/main/res/mipmap-xhdpi/ic_logo.webp
new file mode 100644
index 0000000..f4c61eb
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_logo.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
index 28d4b77..85890da 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
index 9287f50..0b0880d 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_logo.webp b/app/src/main/res/mipmap-xxhdpi/ic_logo.webp
new file mode 100644
index 0000000..afd0644
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_logo.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
index aa7d642..8dc0ea7 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
index 9126ae3..d1cdf48 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_logo.webp b/app/src/main/res/mipmap-xxxhdpi/ic_logo.webp
new file mode 100644
index 0000000..957090f
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_logo.webp differ
diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml
new file mode 100644
index 0000000..5f0ac00
--- /dev/null
+++ b/app/src/main/res/navigation/nav_graph.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index c8524cd..3e2ad10 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,5 +1,9 @@
- #FF000000
- #FFFFFFFF
+ #FDD1D8
+ #FF6362
+ #2F2F2F
+ #BEBEBE
+ #F5F5F5
+ #FFFFFF
\ No newline at end of file
diff --git a/app/src/main/res/values/dimen.xml b/app/src/main/res/values/dimen.xml
new file mode 100644
index 0000000..2784fd8
--- /dev/null
+++ b/app/src/main/res/values/dimen.xml
@@ -0,0 +1,16 @@
+
+
+ 24dp
+ 20dp
+ 18dp
+ 16dp
+ 14dp
+ 12dp
+ 10dp
+ 8dp
+ 16dp
+ 24dp
+ 32dp
+ 16sp
+ 70dp
+
\ No newline at end of file
diff --git a/app/src/main/res/values/ic_launcher_background.xml b/app/src/main/res/values/ic_launcher_background.xml
new file mode 100644
index 0000000..1672dc5
--- /dev/null
+++ b/app/src/main/res/values/ic_launcher_background.xml
@@ -0,0 +1,4 @@
+
+
+ #FDD1D8
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c1b7f38..950c73d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,3 +1,5 @@
+
snow
+ 홈
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000..33a2901
--- /dev/null
+++ b/app/src/main/res/values/styles.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index aee5c8f..08fd541 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -9,9 +9,12 @@ appcompat = "1.7.0"
material = "1.12.0"
activity = "1.10.1"
constraintlayout = "2.2.1"
+navigationFragment = "2.9.0"
[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
+androidx-navigation-fragment = { module = "androidx.navigation:navigation-fragment", version.ref = "navigationFragment" }
+androidx-navigation-ui = { module = "androidx.navigation:navigation-ui", version.ref = "navigationFragment" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }