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

贵阳能做网站的公司有哪些建网站怎么做报分系统

贵阳能做网站的公司有哪些,建网站怎么做报分系统,代码生成器应用,有了域名搭建网站详细步骤目录 一、Navigation 二、BottomNavigation Compose是一个偏向静态刷新的UI组件,如果不想要自己管理页面切换的复杂状态,可以以使用Navigation组件。 页面间的切换可以NavHost,使用底部页面切换栏,可以使用脚手架的bottomBarNav…

目录

一、Navigation

二、BottomNavigation


        Compose是一个偏向静态刷新的UI组件,如果不想要自己管理页面切换的复杂状态,可以以使用Navigation组件。

        页面间的切换可以NavHost,使用底部页面切换栏,可以使用脚手架的bottomBar+NavHost。

一、Navigation页面跳转

        在Compose中使用navigation需要增加依赖:

implementation("androidx.navigation:navigation-compose:2.9.0")

        代码:

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.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.Button
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.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import cn.yy.navhost.ui.theme.NavhostThemeclass MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)enableEdgeToEdge()setContent {NavhostTheme {AppNavigation()}}}
}@Composable
fun AppNavigation() {val navController = rememberNavController()NavHost(navController = navController,startDestination = "home") {composable("welcome") {WelcomeScreen(navController = navController)}composable("login") {LoginScreen(navController = navController)}composable("home") {HomeScreen(navController = navController)}}
}@Composable
fun HomeScreen(navController: NavHostController) {Column(verticalArrangement = Arrangement.Center,modifier = Modifier.fillMaxSize()) {Text(text = "HomeScreen")Button(onClick = {navController.navigate("welcome")}) {Text(text = "welcome")}}
}@Composable
fun LoginScreen(navController: NavHostController) {Column(verticalArrangement = Arrangement.Center,modifier = Modifier.fillMaxSize()) {Text(text = "LoginScreen")Button(onClick = {navController.navigate("home")}) {Text(text = "home")}}
}@Composable
fun WelcomeScreen(navController: NavHostController) {Column(verticalArrangement = Arrangement.Center,modifier = Modifier.fillMaxSize()) {Text(text = "WelcomeScreen")Button(onClick = {navController.navigate("login")}) {Text(text = "login")}}
}@Preview(showBackground = true)
@Composable
fun GreetingPreview() {NavhostTheme {AppNavigation()}
}

        效果:

        

二、BottomNavigation页面跳转栏

        将Navigation集成脚手架(scaffold)中的bottomBar。

        先进行屏幕定义:

import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
import androidx.compose.material.icons.filled.Home
import androidx.compose.material.icons.filled.Person
import androidx.compose.material.icons.filled.ShoppingCart
import androidx.compose.ui.graphics.vector.ImageVectorsealed class Screen(val route: String,val label: String,val icon: ImageVector
) {object Home : Screen("home", "home", Icons.Filled.Home)object Favorite : Screen("favorite", "favorite", Icons.Filled.Favorite)object Person : Screen("person", "person", Icons.Filled.Person)object ShoppingCart : Screen("shoppingCart", "shoppingCart", Icons.Filled.ShoppingCart)
}val items = listOf(Screen.Home,Screen.Favorite,Screen.Person,Screen.ShoppingCart,
)

        再使用脚手架:

import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Icon
import androidx.compose.material3.NavigationBar
import androidx.compose.material3.NavigationBarItem
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.NavDestination.Companion.hierarchy
import androidx.navigation.NavGraph.Companion.findStartDestination
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController@Composable
fun BottomNav() {var navController = rememberNavController()Scaffold(bottomBar = {NavigationBar {val navBackStackEntry = navController.currentBackStackEntryAsState()var currentDestination = navBackStackEntry.value?.destinationitems.forEachIndexed { index, screen ->NavigationBarItem(icon = { Icon(screen.icon, contentDescription = null) },label = { Text(screen.label) },selected = currentDestination?.hierarchy?.any { it.route == screen.route } == true,onClick = {navController.navigate(screen.route) {popUpTo(navController.graph.findStartDestination().id) {saveState = true}launchSingleTop = truerestoreState = true}},)}}}) { innerPadding ->NavHost(navController,startDestination = Screen.Home.route,Modifier.padding(innerPadding)) {composable(Screen.Home.route) { DemoScreen("Home") }composable(Screen.Favorite.route) { DemoScreen("Favorite") }composable(Screen.Person.route) { DemoScreen("Person") }composable(Screen.ShoppingCart.route) { DemoScreen("ShoppingCart") }}}
}@Composable
fun DemoScreen(name: String) {Column(verticalArrangement = Arrangement.Center,modifier = Modifier.fillMaxSize()) {Text("This is $name")}
}@Preview
@Composable
fun PreBottomNav() {BottomNav()
}

        效果:

http://www.dtcms.com/wzjs/785799.html

相关文章:

  • 营销网站搭建建议交换神器
  • 南京做公司网站公司站长网
  • 鄞州做网站前端工程师是干什么的
  • 怎么建网站和网站模块编程教学网站推荐
  • 北京著名网站设计公司搞网站
  • 建设银行社保卡查询网站两学一做知识竞赛网站
  • 怎么把网站模板上传到自己的网站产品全网营销推广
  • 山东省监理建设协会网站台州公司建站模板
  • 企业建设网站的目的和意义为什么教育网站做的都很烂
  • 北京 高端网站设计广州企业建站网站
  • 网站建设公司知名企业网站生成手机站
  • 电商erp网站开发网站备案企业用个人来备案可以用吗
  • 安吉网站设计网站建设中网站功能描述书功能
  • 微网站医院策划案甜品网站设计
  • wordpress注入漏洞杭州seo网络推广
  • 组织建设一百年全文云浮seo
  • 对电子政务做技术支持的网站网站seo关键词排名推广
  • 中小公司做网站263个人登录入口
  • 三线城市做网站需求wordpress模版如何修改底部信息
  • 只用ip做网站 不备案devexpress网站开发
  • 给网站做蜘蛛抓取微网站怎么搭建
  • 湖北省建设安全管理站网站做网站需要网络服务器
  • Php做网站要求黑彩网站怎么做
  • 建设网站的技术手段wordpress如何通过后台增加主菜单
  • 酒店找人做网站贵阳做网站 优帮云
  • 广州市城市建设网站怎么做一网站首页
  • 魏县审批建设的网站兰州网站运营
  • 不备案的网站能上去吗个人网站什么语言做
  • 做海报的网站有哪些内容不会做网站
  • 做h5的图片网站微信小程序制作软件免费