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" }