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

网站建设安全协议百度视频下载

网站建设安全协议,百度视频下载,网站seo怎么填写,如何制作推广网站目录 一、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/444299.html

相关文章:

  • 搭建一个简单的网站福建网络seo关键词优化教程
  • 北京网站建设联系兴田德润口碑营销的产品有哪些
  • 一级域名做网站的好处网络销售 市场推广
  • 公司的网站费怎样做会计分录企业网络营销策划方案范文
  • 房产中介 网站模板长沙网站推广服务公司
  • wordpress建站发文教程seo公司外包
  • 网站怎么做域名解析营销方法有哪几种
  • dw网站设计作品苏州百度快照优化排名
  • seo诊断网站免费诊断平台短视频营销推广方案
  • 广告设计专业毕业去哪就业百度推广优化公司
  • 申请好域名后怎么建设网站百度信息流推广平台
  • 起点网站建设磁力引擎
  • 评价一个网站设计项目的好坏百度关键词seo年度费用
  • 今天邵阳最新消息seo网络公司
  • 深圳建设交易中心网站浏览器里面信息是真是假
  • 用什么语言能写网站吗常用的关键词挖掘工具
  • php做网站需要的软件青岛谷歌seo
  • 做家教网站要多少钱北京知名seo公司精准互联
  • 疫情最新数据消息陕西seo关键词排行优化教程
  • 网站架设客服QQ河南百度推广代理商
  • 免费的logo网站线上广告投放渠道
  • 最新站群系统国内网络销售平台有哪些
  • 做贺卡网站竞价托管外包代运营
  • 万维网如何建设网站找推网
  • 中文网站建设翻译成英文是什么意思在线识别图片来源
  • 佛山三水网站建设网站seo关键词排名优化
  • 东营网站设计网络推广网站推广淘宝运营商
  • 用vs2008做网站网站设计规划
  • 网站建设it惠州seo代理
  • 电子政务门户网站建设代码线上卖货平台有哪些