├── .gitignore ├── .idea ├── .gitignore ├── .name ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── compiler.xml ├── gradle.xml ├── jarRepositories.xml └── misc.xml ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── academy │ │ └── compose │ │ └── navigationsample │ │ ├── bottom_nav │ │ ├── BottomNav.kt │ │ ├── Destination.kt │ │ ├── main.kt │ │ ├── one.kt │ │ └── two.kt │ │ ├── simple │ │ ├── SimpleActivity.kt │ │ ├── home.kt │ │ └── profile.kt │ │ ├── simpleargs │ │ ├── SimpleArgsActivity.kt │ │ ├── home.kt │ │ └── profile.kt │ │ └── ui │ │ ├── Color.kt │ │ ├── Shape.kt │ │ ├── Theme.kt │ │ └── Type.kt │ └── res │ ├── drawable-v24 │ └── ic_launcher_foreground.xml │ ├── drawable │ └── ic_launcher_background.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── values-night │ └── themes.xml │ └── values │ ├── colors.xml │ ├── strings.xml │ └── themes.xml ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | Navigation Sample -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 20 | 22 | 23 | 135 | 136 | 138 | 139 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 14 | 15 | 19 | 20 | 24 | 25 | 29 | 30 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Compose-Navigation-Sample 2 | Quick sample based on Compose + Navigation component 3 | 4 | 5 | See the official documentation [here](https://developer.android.com/jetpack/compose/navigation) 6 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.application' 3 | id 'kotlin-android' 4 | } 5 | 6 | android { 7 | compileSdkVersion 30 8 | 9 | defaultConfig { 10 | applicationId "academy.compose.navigationsample" 11 | minSdkVersion 21 12 | targetSdkVersion 30 13 | versionCode 1 14 | versionName "1.0" 15 | 16 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 17 | } 18 | 19 | buildTypes { 20 | release { 21 | minifyEnabled false 22 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 23 | } 24 | } 25 | compileOptions { 26 | sourceCompatibility JavaVersion.VERSION_1_8 27 | targetCompatibility JavaVersion.VERSION_1_8 28 | } 29 | kotlinOptions { 30 | jvmTarget = '1.8' 31 | useIR = true 32 | } 33 | buildFeatures { 34 | compose true 35 | } 36 | composeOptions { 37 | kotlinCompilerExtensionVersion compose_version 38 | kotlinCompilerVersion '1.4.10' 39 | } 40 | } 41 | 42 | dependencies { 43 | 44 | def nav_compose_version = "1.0.0-alpha01" 45 | implementation "androidx.navigation:navigation-compose:$nav_compose_version" 46 | 47 | implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 48 | implementation 'androidx.core:core-ktx:1.3.2' 49 | implementation 'androidx.appcompat:appcompat:1.2.0' 50 | implementation 'com.google.android.material:material:1.2.1' 51 | implementation "androidx.compose.ui:ui:$compose_version" 52 | implementation "androidx.compose.material:material:$compose_version" 53 | implementation "androidx.ui:ui-tooling:$compose_version" 54 | implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0-alpha06' 55 | testImplementation 'junit:junit:4.+' 56 | androidTestImplementation 'androidx.test.ext:junit:1.1.2' 57 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' 58 | } -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/bottom_nav/BottomNav.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.bottom_nav 2 | 3 | import android.os.Bundle 4 | import androidx.appcompat.app.AppCompatActivity 5 | import androidx.compose.ui.platform.setContent 6 | import academy.compose.navigationsample.ui.NavigationSampleTheme 7 | 8 | class BottomNav : AppCompatActivity() { 9 | 10 | override fun onCreate(savedInstanceState: Bundle?) { 11 | super.onCreate(savedInstanceState) 12 | setContent { 13 | NavigationSampleTheme { 14 | Main() 15 | } 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/bottom_nav/Destination.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.bottom_nav 2 | 3 | sealed class Destination( 4 | val route: String, 5 | val label: String 6 | ) { 7 | object One : Destination("one", "One") 8 | object Two : Destination("Two", "Two") 9 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/bottom_nav/main.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.bottom_nav 2 | 3 | import androidx.compose.foundation.Text 4 | import androidx.compose.material.* 5 | import androidx.compose.material.icons.Icons 6 | import androidx.compose.material.icons.filled.Favorite 7 | import androidx.compose.runtime.Composable 8 | import androidx.compose.runtime.getValue 9 | import androidx.navigation.compose.* 10 | import androidx.navigation.compose.composable 11 | 12 | @Composable 13 | fun Main() { 14 | val items = listOf( 15 | Destination.One, 16 | Destination.Two, 17 | ) 18 | val navController = rememberNavController() 19 | Scaffold( 20 | bottomBar = { 21 | BottomNavigation { 22 | val navBackStackEntry by navController.currentBackStackEntryAsState() 23 | val currentRoute = navBackStackEntry?.arguments?.getString(KEY_ROUTE) 24 | items.forEach { screen -> 25 | BottomNavigationItem( 26 | icon = { Icon(Icons.Filled.Favorite) }, 27 | label = { Text(screen.label) }, 28 | selected = currentRoute == screen.route, 29 | onClick = { 30 | // This is the equivalent to popUpTo the start destination 31 | navController.popBackStack(navController.graph.startDestination, false) 32 | 33 | // This if check gives us a "singleTop" behavior where we do not create a 34 | // second instance of the composable if we are already on that destination 35 | if (currentRoute != screen.route) { 36 | navController.navigate(screen.route) 37 | } 38 | } 39 | ) 40 | } 41 | } 42 | } 43 | ) { 44 | NavHost(navController, startDestination = Destination.One.route) { 45 | composable(Destination.One.route) { One() } 46 | composable(Destination.Two.route) { Two() } 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/bottom_nav/one.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.bottom_nav 2 | 3 | import androidx.compose.foundation.Text 4 | import androidx.compose.foundation.layout.Box 5 | import androidx.compose.foundation.layout.fillMaxSize 6 | import androidx.compose.material.Button 7 | import androidx.compose.runtime.Composable 8 | import androidx.compose.ui.Alignment 9 | import androidx.compose.ui.Modifier 10 | 11 | @Composable 12 | fun One() { 13 | Box(modifier = Modifier.fillMaxSize()) { 14 | Text( 15 | text = "One", 16 | modifier = Modifier.align(Alignment.Center) 17 | ) 18 | } 19 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/bottom_nav/two.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.bottom_nav 2 | 3 | import androidx.compose.foundation.Text 4 | import androidx.compose.foundation.layout.Box 5 | import androidx.compose.foundation.layout.fillMaxSize 6 | import androidx.compose.runtime.Composable 7 | import androidx.compose.ui.Alignment 8 | import androidx.compose.ui.Modifier 9 | 10 | @Composable 11 | fun Two() { 12 | Box(modifier = Modifier.fillMaxSize()) { 13 | Text( 14 | "Two", 15 | modifier = Modifier.align(Alignment.Center) 16 | ) 17 | } 18 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/simple/SimpleActivity.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.simple 2 | 3 | import android.os.Bundle 4 | import androidx.appcompat.app.AppCompatActivity 5 | import androidx.compose.ui.platform.setContent 6 | import academy.compose.navigationsample.ui.NavigationSampleTheme 7 | import androidx.navigation.compose.NavHost 8 | import androidx.navigation.compose.composable 9 | import androidx.navigation.compose.rememberNavController 10 | 11 | class SimpleActivity : AppCompatActivity() { 12 | 13 | override fun onCreate(savedInstanceState: Bundle?) { 14 | super.onCreate(savedInstanceState) 15 | setContent { 16 | NavigationSampleTheme { 17 | val navController = rememberNavController() 18 | NavHost(navController, startDestination = "home") { 19 | composable("home") { Home(navController) } 20 | composable("profile") { Profile(navController) } 21 | } 22 | } 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/simple/home.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.simple 2 | 3 | import androidx.compose.foundation.Text 4 | import androidx.compose.foundation.layout.Box 5 | import androidx.compose.foundation.layout.fillMaxSize 6 | import androidx.compose.material.* 7 | import androidx.compose.runtime.Composable 8 | import androidx.compose.ui.Alignment 9 | import androidx.compose.ui.Modifier 10 | import androidx.navigation.NavController 11 | import androidx.navigation.compose.* 12 | 13 | @Composable 14 | fun Home(navController: NavController) { 15 | Box(modifier = Modifier.fillMaxSize()) { 16 | Button( 17 | onClick = { navController.navigate("profile") }, 18 | modifier = Modifier.align(Alignment.Center) 19 | ) { 20 | Text(text = "Navigate to profile") 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/simple/profile.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.simple 2 | 3 | import androidx.compose.foundation.Text 4 | import androidx.compose.foundation.layout.Box 5 | import androidx.compose.foundation.layout.fillMaxSize 6 | import androidx.compose.material.Button 7 | import androidx.compose.runtime.Composable 8 | import androidx.compose.ui.Alignment 9 | import androidx.compose.ui.Modifier 10 | import androidx.navigation.NavController 11 | 12 | @Composable 13 | fun Profile(navController: NavController) { 14 | Box(modifier = Modifier.fillMaxSize()) { 15 | Button( 16 | onClick = { navController.navigateUp() }, 17 | modifier = Modifier.align(Alignment.Center) 18 | ) { 19 | Text(text = "Go Up") 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/simpleargs/SimpleArgsActivity.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.simpleargs 2 | 3 | import academy.compose.navigationsample.simple.Home 4 | import academy.compose.navigationsample.simple.Profile 5 | import android.os.Bundle 6 | import androidx.appcompat.app.AppCompatActivity 7 | import androidx.compose.ui.platform.setContent 8 | import academy.compose.navigationsample.ui.NavigationSampleTheme 9 | import androidx.navigation.NavType 10 | import androidx.navigation.compose.NavHost 11 | import androidx.navigation.compose.composable 12 | import androidx.navigation.compose.navArgument 13 | import androidx.navigation.compose.rememberNavController 14 | 15 | class SimpleArgsActivity : AppCompatActivity() { 16 | 17 | override fun onCreate(savedInstanceState: Bundle?) { 18 | super.onCreate(savedInstanceState) 19 | setContent { 20 | NavigationSampleTheme { 21 | val navController = rememberNavController() 22 | NavHost(navController, startDestination = "home") { 23 | composable("home") { HomeArgs(navController) } 24 | composable( 25 | "profile/{profileId}", 26 | arguments = listOf(navArgument("profileId") { type = NavType.StringType }) 27 | ) { backStackEntry -> 28 | ProfileArgs(backStackEntry.arguments?.getString("profileId")) } 29 | } 30 | } 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/simpleargs/home.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.simpleargs 2 | 3 | import androidx.compose.foundation.Text 4 | import androidx.compose.foundation.layout.Box 5 | import androidx.compose.foundation.layout.fillMaxSize 6 | import androidx.compose.material.* 7 | import androidx.compose.runtime.Composable 8 | import androidx.compose.ui.Alignment 9 | import androidx.compose.ui.Modifier 10 | import androidx.navigation.NavController 11 | import androidx.navigation.compose.* 12 | 13 | @Composable 14 | fun HomeArgs(navController: NavController) { 15 | Box(modifier = Modifier.fillMaxSize()) { 16 | Button( 17 | onClick = { navController.navigate("profile/123456") }, 18 | modifier = Modifier.align(Alignment.Center) 19 | ) { 20 | Text(text = "Navigate to profile") 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/simpleargs/profile.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.simpleargs 2 | 3 | import androidx.compose.foundation.Text 4 | import androidx.compose.foundation.layout.Box 5 | import androidx.compose.foundation.layout.fillMaxSize 6 | import androidx.compose.runtime.Composable 7 | import androidx.compose.ui.Alignment 8 | import androidx.compose.ui.Modifier 9 | 10 | @Composable 11 | fun ProfileArgs(profileId: String?) { 12 | Box(modifier = Modifier.fillMaxSize()) { 13 | Text( 14 | text = "Profile $profileId", 15 | modifier = Modifier.align(Alignment.Center) 16 | ) 17 | } 18 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/ui/Color.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.ui 2 | 3 | import androidx.compose.ui.graphics.Color 4 | 5 | val purple200 = Color(0xFFBB86FC) 6 | val purple500 = Color(0xFF6200EE) 7 | val purple700 = Color(0xFF3700B3) 8 | val teal200 = Color(0xFF03DAC5) -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/ui/Shape.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.ui 2 | 3 | import androidx.compose.foundation.shape.RoundedCornerShape 4 | import androidx.compose.material.Shapes 5 | import androidx.compose.ui.unit.dp 6 | 7 | val shapes = Shapes( 8 | small = RoundedCornerShape(4.dp), 9 | medium = RoundedCornerShape(4.dp), 10 | large = RoundedCornerShape(0.dp) 11 | ) -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/ui/Theme.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.ui 2 | 3 | import androidx.compose.foundation.isSystemInDarkTheme 4 | import androidx.compose.material.MaterialTheme 5 | import androidx.compose.material.darkColors 6 | import androidx.compose.material.lightColors 7 | import androidx.compose.runtime.Composable 8 | 9 | private val DarkColorPalette = darkColors( 10 | primary = purple200, 11 | primaryVariant = purple700, 12 | secondary = teal200 13 | ) 14 | 15 | private val LightColorPalette = lightColors( 16 | primary = purple500, 17 | primaryVariant = purple700, 18 | secondary = teal200 19 | 20 | /* Other default colors to override 21 | background = Color.White, 22 | surface = Color.White, 23 | onPrimary = Color.White, 24 | onSecondary = Color.Black, 25 | onBackground = Color.Black, 26 | onSurface = Color.Black, 27 | */ 28 | ) 29 | 30 | @Composable 31 | fun NavigationSampleTheme(darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable() () -> Unit) { 32 | val colors = if (darkTheme) { 33 | DarkColorPalette 34 | } else { 35 | LightColorPalette 36 | } 37 | 38 | MaterialTheme( 39 | colors = colors, 40 | typography = typography, 41 | shapes = shapes, 42 | content = content 43 | ) 44 | } -------------------------------------------------------------------------------- /app/src/main/java/academy/compose/navigationsample/ui/Type.kt: -------------------------------------------------------------------------------- 1 | package academy.compose.navigationsample.ui 2 | 3 | import androidx.compose.material.Typography 4 | import androidx.compose.ui.text.TextStyle 5 | import androidx.compose.ui.text.font.FontFamily 6 | import androidx.compose.ui.text.font.FontWeight 7 | import androidx.compose.ui.unit.sp 8 | 9 | // Set of Material typography styles to start with 10 | val typography = Typography( 11 | body1 = TextStyle( 12 | fontFamily = FontFamily.Default, 13 | fontWeight = FontWeight.Normal, 14 | fontSize = 16.sp 15 | ) 16 | /* Other default text styles to override 17 | button = TextStyle( 18 | fontFamily = FontFamily.Default, 19 | fontWeight = FontWeight.W500, 20 | fontSize = 14.sp 21 | ), 22 | caption = TextStyle( 23 | fontFamily = FontFamily.Default, 24 | fontWeight = FontWeight.Normal, 25 | fontSize = 12.sp 26 | ) 27 | */ 28 | ) -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitherejoe/Compose-Navigation-Sample/a8ac2ecd9c885c5e3a39d3caccfea60c51b36f5b/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitherejoe/Compose-Navigation-Sample/a8ac2ecd9c885c5e3a39d3caccfea60c51b36f5b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitherejoe/Compose-Navigation-Sample/a8ac2ecd9c885c5e3a39d3caccfea60c51b36f5b/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitherejoe/Compose-Navigation-Sample/a8ac2ecd9c885c5e3a39d3caccfea60c51b36f5b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitherejoe/Compose-Navigation-Sample/a8ac2ecd9c885c5e3a39d3caccfea60c51b36f5b/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitherejoe/Compose-Navigation-Sample/a8ac2ecd9c885c5e3a39d3caccfea60c51b36f5b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitherejoe/Compose-Navigation-Sample/a8ac2ecd9c885c5e3a39d3caccfea60c51b36f5b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitherejoe/Compose-Navigation-Sample/a8ac2ecd9c885c5e3a39d3caccfea60c51b36f5b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitherejoe/Compose-Navigation-Sample/a8ac2ecd9c885c5e3a39d3caccfea60c51b36f5b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hitherejoe/Compose-Navigation-Sample/a8ac2ecd9c885c5e3a39d3caccfea60c51b36f5b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Navigation Sample 3 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | 17 | 21 | 22 |