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 = "返回")
            }
        }
    }
}
相关推荐
独行soc6 小时前
2026年渗透测试面试题总结-18(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
王码码20356 小时前
Flutter for OpenHarmony 实战之基础组件:第二十七篇 BottomSheet — 动态底部弹窗与底部栏菜单
android·flutter·harmonyos
2501_915106326 小时前
app 上架过程,安装包准备、证书与描述文件管理、安装测试、上传
android·ios·小程序·https·uni-app·iphone·webview
vistaup7 小时前
OKHTTP 默认构建包含 android 4.4 的TLS 1.2 以及设备时间不对兼容
android·okhttp
常利兵7 小时前
ButterKnife在Android 35 + Gradle 8.+环境下的适配困境与现代化迁移指南
android
撩得Android一次心动7 小时前
Android LiveData 全面解析:使用Java构建响应式UI【源码篇】
android·java·android jetpack·livedata
熊猫钓鱼>_>7 小时前
移动端开发技术选型报告:三足鼎立时代的开发者指南(2026年2月)
android·人工智能·ios·app·鸿蒙·cpu·移动端
Rainman博17 小时前
WMS-窗口relayout&FinishDrawing
android
baidu_2474386119 小时前
Android ViewModel定时任务
android·开发语言·javascript
有位神秘人20 小时前
Android中Notification的使用详解
android·java·javascript