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 = "返回")
            }
        }
    }
}
相关推荐
新鲜势力呀11 分钟前
深入理解 Elliot CUDA 编程核心:PHP 实现 CUDA 并行计算思想与实践
android·开发语言·php
恋猫de小郭1 小时前
Flutter 3.47 首坑,analysis_options 问题连环回归
android·前端·flutter
ue星空3 小时前
第一个安卓程序
android
淡淡的香烟3 小时前
Androidiot蓝牙配网简单封装
android·物联网
gxgldyh3 小时前
Android Framework源码解析(九):App进程诞生全流程——从AMS请求到Zygote fork源码深度拆解
android·framework·zygote·android 启动流程·android app创建流程
牛哇网络工作室10 小时前
UnityHDRP写实数字人全流程基础5—语音输入和语音识别
android·unity·c#·游戏引擎·aigc·语音识别·xcode
一笑的小酒馆10 小时前
Androidiot蓝牙配网简单封装
android
愚公搬代码13 小时前
【愚公系列】《Android应用案例开发大全》016-LBS类应用掌上杭州(辅助工具类的开发)
android·前端
g105655913914 小时前
LAMP博客平台Wordpress实战
android·mysql·nginx·php
hunterandroid15 小时前
[Android 从零到一] Compose LazyColumn 性能优化:key、稳定性与重组治理
android·前端