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

网站正在建设中的代码/app推广好做吗

网站正在建设中的代码,app推广好做吗,wordpress一页主题,设置网站的黑名单怎么做概述 现在市场上大多数的手机APP的通用布局结构都是顶部有个顶部导航栏,底部有个底部导航栏,例如抖音的布局结构: 点击导航栏里面的各个项又可以跳转到相应的页面,现在这种结构特别流行,如果我们使用传统的View来实现…

概述

现在市场上大多数的手机APP的通用布局结构都是顶部有个顶部导航栏,底部有个底部导航栏,例如抖音的布局结构:
在这里插入图片描述
点击导航栏里面的各个项又可以跳转到相应的页面,现在这种结构特别流行,如果我们使用传统的View来实现会很费力。而且效果还不咋理想。所以Compose 给我们提供了一个组件叫脚手架(Scaffold)可以快速的实现一个类似的UI结构。

实例解析

Scaffold 组件实现了Material Design的布局结构,通过配合其他Material组件就可以轻松实现Matterial Design风格的界面,下面是实现一个包括首页布局,底部导航和侧边栏的简单例子,代码如下:

@Composable
fun ScaffoldDemo() {var selectedItem by remember {mutableStateOf(0)}val items = listOf(Item("主页", R.drawable.home_page),Item("列表", R.drawable.list_page),Item("设置", R.drawable.setting_page))val scaffoldState = rememberScaffoldState()val scope = rememberCoroutineScope()Scaffold(drawerContent = {Text(text = "我是侧边栏")},scaffoldState = scaffoldState,topBar = {TopAppBar(title = {Text(text = "主页")},navigationIcon = {IconButton(onClick = { /*TODO*/ }) {Icon(imageVector = Icons.Filled.Menu,contentDescription = null);}})}, bottomBar = {BottomNavigation {items.forEachIndexed { index, item ->BottomNavigationItem(selected = selectedItem == index,onClick = { selectedItem = index },icon = {Icon(painterResource(id = item.icon), null)},alwaysShowLabel = false,label = {Text(text = item.name)})}}}) {Box(modifier = Modifier.fillMaxSize(),contentAlignment = Alignment.Center) {Text(text = "主页界面")}BackHandler(enabled = scaffoldState.drawerState.isOpen) {scope.launch {scaffoldState.drawerState.close()}}}
}data class Item(val name: String,val icon: Int
)

然后我们将其运行起来,在我们的Activity中调用
ScaffoldDemo()函数就可以了。

class MainActivity : ComponentActivity() {@SuppressLint("SetJavaScriptEnabled")override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {ScaffoldDemo()}}
}

运行效果:

在这里插入图片描述在这里插入图片描述

从上面的代码中可以看到,Scaffold会自动处理好各自的位置BottomNavigation组件创造了底部导航栏的总体布局,比如高度等,这些都是按照Material Design风格设计的,如果要修改整体的颜色,可以在BottomNavigation的其他参数上修改。

BottomNavigationItem组件则创建了具体的导航图标及标签,在BottomNavigationItem组件中可以设置一些其他参数,例如选中或者是未选中时图标的颜色。在上述例子中,我们设置了alwaysShowLabel = false。即只有是选中当前页面时,才会展示标签的文字。

在上面的例子中我们还添加了一个侧边栏,通过Scaffold添加侧边栏非常简单,Scaffold有一个drawerContent参数,只需要传入一个自定义的Composablecontent即可。侧边栏做好了后,我们还需要处理下按键事件,因为如果我们不做处理的情况下,按下系统的返回键,应用会直接退出,而此时我们希望是关闭侧边栏。所以Compose提供了用于拦截系统返回键的组件BackHandler。此外,我们通过ScaffoldState可以监听侧边栏是否打开。具体的逻辑为:我们通过rememberScaffoldState()获取到包含侧边栏状态的ScaffoldState,当侧边栏被打开时,scaffoldState.drawerState.isOpen被更新为true,此时,BackHandler开始监听系统返回键事件,返回键事件被按下时会通过scaffoldState来关闭侧边栏。

总结

本文主要是简单介绍了Compose的Scaffold 脚手架的使用,使用脚手架可以极大的节约我们开发的时间,让我们快速的搭建一个app的界面结构,并且代码也比使用传统view少了很多,而且添加侧边栏还非常简便,非常适合快速实现需求。建议读者可以去研究下Scaffold的实现,我相信会对我们的开发有很大的帮助。

http://www.jmfq.cn/news/4833415.html

相关文章:

  • 广州制作网站公司/试分析网站推广和优化的原因
  • wordpress建2个网站吗/无锡seo公司哪家好
  • 域名注册 网站建设 好做吗/网站更换服务器对seo的影响
  • 做网站用什么工具/网站top排行榜
  • linux系统搭建网站/游戏推广赚钱
  • 一区适合晚上一个人看b站/网站推广计划方案
  • 企业网站建设存在的不足/sem推广外包
  • 天津外贸公司网站制作/seo快速提升排名
  • 做一名优秀网站设计师计划/seo搜索引擎优化技术教程
  • 珠海网站开发/网站查询ip
  • 登记注册身份验证app下载/网站seo视频狼雨seo教程
  • 网站做博彩客服怎么样/怎么做网页设计的页面
  • 国家企业信用信息公示官网糸 /株洲seo优化首选
  • 乌克兰网站后缀/上海网站建设联系方式
  • 天津网站制作/关键词优化流程
  • 编程软件做网站的/百度提交入口网址是什么
  • 上海市企业服务云网站/百度之家
  • 动漫制作专业必须会画画吗/佛山seo优化外包
  • 网站建设厘金手指下拉15/宁德市政府
  • 西安优化官网公司/在线seo短视频
  • 一家做公司评估的网站/云南百度推广开户
  • 网站开发流程前端/网页推广怎么做
  • 网站建设结束的售后服务/宣传推广文案
  • 网站如何做市场推广/搜索引擎大全
  • 做网站公司价格/百度app下载官方免费下载安装
  • 店铺logo设计在线生成/株洲专业seo优化
  • 哪里做百度网站/如何自己做网站
  • 已有网站怎么做后台/qq群排名优化
  • 外贸网站推广与优化/厦门seo优
  • 中国城镇建设网站/电子商务网站推广