Moving to a new screen within the same activity
Make sure to add the dependency - implementation ("androidx.navigation:navigation-compose:2.4.0-alpha10")
package com.example.clicktonewactivity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.example.clicktonewactivity.ui.theme.ClickToNewActivityTheme
import androidx.compose.runtime.remember
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import androidx.compose.foundation.layout.Column
import androidx.compose.material3.Button
import androidx.compose.runtime.Composable
import androidx.core.content.ContextCompat.startActivity
@Composable
fun FirstScreen(navToSecondScreen: () -> Unit) {
Column {
Text(text = "This is the first screen")
Button(onClick = navToSecondScreen) {
Text(text = "Go to Second Screen")
}
}
}
@Composable
fun SecondScreen(navToFirstScreen: () -> Unit) {
Column {
Text(text = "This is the second screen")
Button(onClick = navToFirstScreen) {
Text(text = "Go to First Screen")
}
}
}
@Composable
fun MyApp() {
val navController = rememberNavController()
NavHost(navController = navController, startDestination = "first_screen") {
composable("first_screen") {
FirstScreen(navToSecondScreen = { navController.navigate("second_screen") })
}
composable("second_screen") {
SecondScreen(navToFirstScreen = { navController.navigate("first_screen") })
}
}
}
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MyApp()
}
}
}
Comments
Post a Comment