navigation fragments
Wed Nov 20 2024 18:46:47 GMT+0000 (Coordinated Universal Time)
Saved by @hi
import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material3.Button import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.navigation.NavController import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController import com.example.prog2.ui.theme.Prog2Theme class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { val nav_Controller = rememberNavController() NavHost(navController = nav_Controller, startDestination = "fragment1") { composable("fragment1") { Fragment1(nav_Controller) } composable("fragment2") { Fragment2(nav_Controller) } } } } } @Composable fun Fragment1(navController: NavController){ Column { Button(onClick={ navController.navigate("fragment2")}) { Text(text = "Navigate to fragment2 ") } } } @Composable fun Fragment2(navController: NavController) { Row(horizontalArrangement = Arrangement.SpaceEvenly){ Button(onClick = { navController.navigateUp() }) { Text(text = "Back to Fragment 1") } } } dependencies { implementation "androidx.compose.ui:ui:1.3.0" implementation "androidx.compose.material3:material3:1.0.0" implementation "androidx.navigation:navigation-compose:2.5.3" // Other dependencies... }
Comments