android compose Navigation 导航 使用

android compose Navigation 导航 使用

复制代码
/**
 * Author : wn
 * Email : maoning20080809@163.com
 * Date : 2026/1/5 20:37
 * Description : Navigation 导航
 */
class NavigationActivity : ComponentActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContent {
            testNavigation()
        }
    }

    @Preview
    @Composable
    private fun testNavigation(){
        val navController = rememberNavController()

        NavHost(navController = navController, startDestination = "home"){
            composable("home") {
                testHomeScreen(navController)
            }
            composable("detail") {
                testDetailsScreen(navController)
            }
        }
    }

    @Composable
    private fun testHomeScreen(navController: NavController){
        Column(modifier = Modifier.fillMaxWidth(),
            verticalArrangement = Arrangement.Center,
            horizontalAlignment = Alignment.CenterHorizontally) {

            Spacer(modifier = Modifier.height(20.dp))
            Text(text = "Navigation导航", fontSize = 30.sp)
            Spacer(modifier = Modifier.height(20.dp))
            Button(onClick = {
                navController.navigate("detail")
            }) {
                Text(text = "跳转到详细页")
            }
        }
    }

    @Composable
    private fun testDetailsScreen(navController: NavController){
        Column(modifier = Modifier.fillMaxSize().background(Color.Green),
            verticalArrangement = Arrangement.Center, 
            horizontalAlignment = Alignment.CenterHorizontally){
            Text(text = "详细页面")
            Button(onClick = {
                navController.popBackStack()
            }) {
                Text(text = "返回")
            }
        }
    }
}
相关推荐
SharpCJ3 小时前
Android 开发者为什么必须掌握 AI 能力?端侧视角下的技术变革
android·ai·aigc
_李小白4 小时前
【OSG学习笔记】Day 38: TextureVisitor(纹理访问器)
android·笔记·学习
JJay.4 小时前
Kotlin 高阶函数学习指南
android·开发语言·kotlin
android_cai_niao4 小时前
kotlin中的when
kotlin·when
渔舟小调4 小时前
后端框架选型:为什么选Kotlin + Spring Boot
kotlin·idea
jinanwuhuaguo4 小时前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin
JJay.5 小时前
Android Kotlin 协程使用指南
android·开发语言·kotlin
BLUcoding6 小时前
Android 布局介绍
android
summerkissyou19876 小时前
android-蓝牙-状态和协议值总结及监听例子
android·蓝牙
徒 花6 小时前
数据库知识复习05
android·数据库