当前位置: 首页 > news >正文

厦门手机网站建设公司排名定制一个网站多少钱

厦门手机网站建设公司排名,定制一个网站多少钱,seo如何优化,域名怎么和网站绑定Navigation 快速上手 下面案例简要展示使用 Compose 版本的 Navigation 库来实现两个页面之间的跳转 这是完整的结构(忽略掉红线划过的那个包) 安装适用于 kotlin 的 navigation 依赖 dependencies {implementation("androidx.navigation:navigati…

Navigation 快速上手

下面案例简要展示使用 Compose 版本的 Navigation 库来实现两个页面之间的跳转

这是完整的结构(忽略掉红线划过的那个包)

在这里插入图片描述


安装适用于 kotlin 的 navigation 依赖

dependencies {implementation("androidx.navigation:navigation-compose:2.4.1")
}

编写欲跳转的两个页面

编写 Demo1 页面

子页面使用多个 composable 组件相组合的方法一一装配起来

Demo1main 渲染整个页面,他接受一个 NavController 对象,用于操纵导航相关的方法

可以注意到 Button 里面的点击事件还没写,后续我们写好路由后再回来编写跳转逻辑

@Composable
fun Demo1main(navController: NavController) {body(navController)
}@Composable
private fun body(navController: NavController) {Column(modifier = Modifier.fillMaxSize()) {Button(onClick = {// 跳转逻辑}) {Text(text = "前往demo2",modifier = Modifier.fillMaxWidth(),textAlign = TextAlign.Center)}}
}

编写 Demo2 页面

依葫芦画瓢

@Composable
fun Demo2main(navController: NavController) {body(navController)
}@Composable
private fun body(navController: NavController) {Column(modifier = Modifier.fillMaxSize()) {Button(onClick = {// 这里也写跳转逻辑!}) {Text(text = "前往demo1",modifier = Modifier.fillMaxWidth(),textAlign = TextAlign.Center)}}
}

路由表配置

编写单例类 RouteConfig 用来存储路由名称(等同于 vue-router 中我们设置的 path)

后续为便于理解,统称为 path

object RouteConfig {// 主页面const val ROUTE_MAIN = "main"// 两个跳转页面const val ROUTE_DEMO1 = "demo1"const val ROUTE_DEMO2 = "demo2"
}

总路由

创建文件 MainNav 并在里面实现路由导航的总逻辑

由于我们刚刚入门,路由表可以很简单,按照以下结构即可

  1. rememberNavController 存储所有 navcontroller 状态
  2. NavHost 一个容器,便于内部页面的切换,在里面注册所有页面
@Composable
fun AppNav() {// 存储navigation状态val navController = rememberNavController()// navhost容器// startDestination表示起始页的path,这里我们指定demo1作为起始页NavHost(navController = navController, startDestination = RouteConfig.ROUTE_DEMO1) {// 依次传入path并注册三个页面composable(RouteConfig.ROUTE_MAIN) {MainActivity()}composable(RouteConfig.ROUTE_DEMO1) {Demo1main(navController)}composable(RouteConfig.ROUTE_DEMO2) {Demo2main(navController)}}
}

主页面调用总路由

对于 kotlin 而言,非常简单,直接调用定义好的总路由方法即可

因为总路由默认起始页为 demo1,故渲染 mainactivity 后就会立即载入 demo1 页面!

class MainActivity() : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {DemoComposeTheme {// A surface container using the 'background' color from the themeSurface(modifier = Modifier.fillMaxSize(),color = MaterialTheme.colors.background) {// 一键调用,方便快捷AppNav()}}}}
}

跳转逻辑完善

嘿!还记得我们之前置空的按钮跳转逻辑吗?

我们已经配置完了所有路由,为此,仅需将以下代码添加到按钮点击事件即可跳转到指定页面了!

// 写于demo1页面,点击按钮后跳转到demo2页面
navController.navigate(RouteConfig.ROUTE_DEMO2)

为便于大家理解,现给出 demo1.kt 目前的完整代码

@Composable
fun Demo1main(navController: NavController) {body(navController)
}@Composable
private fun body(navController: NavController) {Column(modifier = Modifier.fillMaxSize()) {Button(onClick = {navController.navigate(RouteConfig.ROUTE_DEMO2)}) {Text(text = "前往demo2",modifier = Modifier.fillMaxWidth(),textAlign = TextAlign.Center)}}
}

demo2 的跳转逻辑只需要修改对应的 path 即可

目前仅学到了最简单的 navigate 跳转,后续还有带参跳转,请关注进阶版本!


http://www.yayakq.cn/news/779735/

相关文章:

  • 响应式网站自助建设泉州建站服务
  • 温州做网站的公司有哪些建筑工程机械人才培训网官网
  • 用什么软件做网站设计哈尔滨最新通告
  • 媒体网站怎么做腾讯企业邮箱网页版登录入口官网
  • wordpress 仿站网页框架代码
  • 博山网站建设yx718网站app建设需要资源
  • 去哪找网站建设公司好炫酷网站设计
  • 网站开发询价函做网站交互效果用什么软件
  • 全球排行前50网站开发语言人力资源网站怎么建设
  • 网站制作目的网站建设公司多少钱
  • 广州 营销型网站建设公司网站开发的论文怎么写
  • 昆山智能网站建设电商app制作平台
  • ie9网站后台编辑器文件传输协议登录网站
  • 自己怎么个人网站明月 WordPress
  • 北京哪个网站制作公司吉林省安全建设网站
  • 自己视频怎么上传网站苏州做企业网站公司
  • pc网站开发新问网站设计
  • 有没有做相册的网站网站公司策划书
  • 西安官网优化哪家公司好西安网站seo哪家公司好
  • 吉安seo网站快速排名网站收录是怎么回事
  • 网站上地图怎么做的用asp做网站遇到的问题
  • 北京远程时代网站建设哪些网站可以用来做百科参考
  • 邯山区住房和城乡建设局网站产品网络营销策划
  • 如何免费申请网站域名网页制作公司代码
  • 免费企业网站建设流程住建厅官网证件查询
  • 网站开发费用科目什么学做网站
  • 网站对联模板广州知名网站建设哪家好
  • 网站做曲线的源代码网页设计与制作教程试题
  • 网站建设属于技术服务吗一个人如何注册公司
  • 常州网站网站建设可信赖的龙岗网站建设