返回顶部
首页 > 资讯 > 精选 >JetpackCompose Scaffold组件如何使用
  • 202
分享到

JetpackCompose Scaffold组件如何使用

2023-07-04 23:07:17 202人浏览 泡泡鱼
摘要

本文小编为大家详细介绍“JetpackCompose Scaffold组件如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“JetpackCompose Scaffold组件如何使用”文章能帮助大家解决疑惑,下面跟

本文小编为大家详细介绍“JetpackCompose Scaffold组件如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“JetpackCompose Scaffold组件如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

搭设基本Scaffold页面

scaffold 组件遵循 Material Design,可以协助开发者迅速构建对应框架页面

准备工作

首先在 drawable 文件夹内,添加几张 vector images,用作我们的底部导航栏图标

JetpackCompose Scaffold组件如何使用

在主页面中声明数据类,表示单个图标以及其解释文本

data class Item(    val name: String,    val icon: Int)

新增组件 mainBody,逐一添加三个底部按钮的图标

@Composablefun mainBody() {    // 存储当前选中的底部按钮的状态    var selectedItem by remember {        mutableStateOf(0)    }    // 三个底部按钮    val items = listOf(        Item("主页", R.drawable.home),        Item("列表", R.drawable.list),        Item("设置", R.drawable.setting)    )    ...}

主体编写

首先是设置 topBar,即顶部导航栏对应按钮

代码很简单,但要注意使用的括号类型以及对应嵌套关系!

Scaffold(    topBar = {        TopAppBar(            title = { Text("主页") },            navigationIcon = {                IconButton(onClick = {  }) {                    Icon(Icons.Filled.Menu, null)                }            }        )    },    ...){}

紧接着在 topBar 属性后面写底部导航栏属性 bottomBar

items.forEachIndexed 按照索引渲染,Vuev-for 懂吧,就这个原理!

依次渲染 BottomNavigationItem 即可;

bottomBar = {    BottomNavigation {        items.forEachIndexed { index, item ->            BottomNavigationItem(                // selectedItem 是内置属性,表示当前选中的Item                // onClick即切换当前激活的Item                selected = selectedItem == index,                onClick = { selectedItem = index },                // 这几个属性看看英文就懂了,不解释                icon = { Icon(painterResource(item.icon), null) },                alwaysshowLabel = false,                label = { Text(item.name) }            )        }    }}

这是总体的代码:

@Composablefun mainBody() {    var selectedItem by remember {        mutableStateOf(0)    }    val items = listOf(        Item("主页", R.drawable.home),        Item("列表", R.drawable.list),        Item("设置", R.drawable.setting)    )    Scaffold(        topBar = {            TopAppBar(                title = { Text("主页") },                navigationIcon = {                    IconButton(onClick = {  }) {                        Icon(Icons.Filled.Menu, null)                    }                }            )        },        bottomBar = {            BottomNavigation {                items.forEachIndexed { index, item ->                    BottomNavigationItem(                        selected = selectedItem == index,                        onClick = { selectedItem = index },                        icon = { Icon(painterResource(item.icon), null) },                        alwaysShowLabel = false,                        label = { Text(item.name) }                    )                }            }        }    ) {        // 在scaffold里面塞一个box,糊弄一下        Box(            modifier = Modifier.fillMaxSize(),            contentAlignment = Alignment.Center        ) {            Text(text = "主页界面")        }    }}

JetpackCompose Scaffold组件如何使用

读到这里,这篇“JetpackCompose Scaffold组件如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: JetpackCompose Scaffold组件如何使用

本文链接: https://lsjlt.com/news/347946.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JetpackCompose Scaffold组件如何使用
    本文小编为大家详细介绍“JetpackCompose Scaffold组件如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“JetpackCompose Scaffold组件如何使用”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-04
  • JetpackCompose图片组件使用实例详细讲解
    目录概述示例解析1.Icon图标组件2.Image图片组件总结概述 在Compose中,图片组件主要有两种,分别是显示图标的Icon组件和显示图片的Image组件,当我们显示一系列的...
    99+
    2023-05-16
    Jetpack Compose图片组件 Android图片组件
  • JetpackCompose按钮组件使用实例详细讲解
    目录概述1.普通Button按钮2.IconButton图标按钮3.FloatingActionButton悬浮按钮总结概述 按钮组件Button是用户和系统交互的重要组件之一,它按...
    99+
    2023-05-16
    Android按钮组件 Jetpack Compose按钮组件
  • 如何使用Raft组件
    这篇文章主要讲解了“如何使用Raft组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Raft组件”吧!一、编译github下载 Ratis 直接 ...
    99+
    2024-04-02
  • dialog组件如何使用
    这篇文章主要讲解了“dialog组件如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“dialog组件如何使用”吧! <template>...
    99+
    2024-04-02
  • React组件如何使用
    本篇内容主要讲解“React组件如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React组件如何使用”吧!组件的定义:理解:用来实现局部功能效果的代码和资源的集合(html/css/js...
    99+
    2023-07-05
  • bootstrap组件中如何使用导航组件
    这篇文章主要介绍了bootstrap组件中如何使用导航组件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Bootstrap 中的导航组件都依...
    99+
    2024-04-02
  • 如何使用vue组件封装共用的组件
    这篇文章主要介绍了如何使用vue组件封装共用的组件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用vue组件封装共用的组件文章都会有所收获,下面我们一起来看看吧。这里提供两种vue封装共用组件的方法方法一...
    99+
    2023-06-30
  • SimpleFramework中如何使用组件
    这篇文章主要讲解了“SimpleFramework中如何使用组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SimpleFramework中如何使用组件”吧!描述文件的位置XML描述文件的...
    99+
    2023-06-17
  • android navigation组件如何使用
    Android Navigation组件是一套可以帮助开发者轻松实现应用程序导航功能的框架。下面是使用Android Navigat...
    99+
    2023-10-09
    Android navigation
  • SpringCloud Bus组件如何使用
    本文小编为大家详细介绍“SpringCloud Bus组件如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringCloud Bus组件如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-06-29
  • Android ProgressBar组件如何使用
    Android ProgressBar是一个显示进度的组件,可以用于展示任务的进度,比如下载文件的进度、上传文件的进度等。使用Pro...
    99+
    2023-08-12
    Android ProgressBar
  • Unity3D AudioSource组件如何使用
    这篇文章主要介绍了Unity3D AudioSource组件如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Unity3D AudioSource组件如何使用文章都会有所收获,下面我们...
    99+
    2023-07-05
  • vue3 table组件如何使用
    今天小编给大家分享一下vue3 table组件如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。基础表格首先开发tabl...
    99+
    2023-07-06
  • 如何使用单文件组件.vue
    小编给大家分享一下如何使用单文件组件.vue,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vuejs 自定义了一种.vue文件,...
    99+
    2024-04-02
  • Bootstrap中Blazor组件如何使用
    这篇文章给大家介绍Bootstrap中Blazor组件如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、安装模板dotnet new -i Bootstrap.Blazor.T...
    99+
    2024-04-02
  • Vue中如何使用component组件
    Vue中如何使用component组件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 内置的组件component场...
    99+
    2024-04-02
  • Vue中如何使用header组件
    这期内容当中小编将会给大家带来有关Vue中如何使用header组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、 header 组件开发 之数据的传递1. App.v...
    99+
    2024-04-02
  • vue如何使用高阶组件
    这篇文章主要为大家展示了“vue如何使用高阶组件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何使用高阶组件”这篇文章吧。高阶组件1 一般情况//&nb...
    99+
    2024-04-02
  • Django中如何使用 Form组件
    Django中如何使用 Form组件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。为什么需要Form组件注:Form组件,只适用于,前后端...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作