在 Jetpack Compose 中使用 BottomAppBar

这篇具有很好参考价值的文章主要介绍了在 Jetpack Compose 中使用 BottomAppBar。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

Jetpack Compose 是一个现代化的、声明式的 UI 工具包,它使我们能够更方便地构建 Android 的用户界面。本篇文章将介绍如何在 Jetpack Compose 中使用 BottomAppBar 来创建底部应用栏。


什么是 BottomAppBar?

BottomAppBar 是一个在屏幕底部的应用栏,提供了在 Material Design 风格的应用中实现导航和执行操作的一种方式。在 BottomAppBar 中,我们通常会放置一些操作按钮,如 FloatingActionButton、菜单项、以及其他可交互的图标。

如何使用 BottomAppBar

为了使用 BottomAppBar,我们需要将它作为 Scaffold 函数的 bottomBar 参数。这里有一个简单的示例:

@Preview
@Composable
fun BottomAppBar(){
    Scaffold(floatingActionButton = {
     //   Icon(Icons.Default.Home, contentDescription = "Add")
        FloatingActionButton(onClick = { }) {
            Icon(Icons.Default.Add, contentDescription = "Add")
        }
    }, floatingActionButtonPosition = FabPosition.Center, isFloatingActionButtonDocked = true, bottomBar = {
        BottomAppBar(cutoutShape = CircleShape) {
            IconButton(onClick = { /*TODO*/ }) {
                Icon(Icons.Filled.Menu,contentDescription = null)
            }
            Spacer(modifier = Modifier.weight(1f,true))
            IconButton(onClick = { /*TODO*/ }) {
                Icon(imageVector = Icons.Filled.Favorite, contentDescription = "Favorite")
            }
            IconButton(onClick = { /*TODO*/ }) {
                Icon(imageVector = Icons.Filled.MoreVert , contentDescription ="More options" )
            }
        }
    }){ innerPadding ->
        BodyContent(Modifier.padding(innerPadding))

    }
}

@Composable
fun BodyContent(padding: Modifier=Modifier) {

}

在 Jetpack Compose 中使用 BottomAppBar,Android Jetpack Compose 别裁,android,android jetpack

在上面的代码中,Scaffold 组件是一个实现基本的 Material Design 布局结构的 Composable 函数。它有一些参数可以配置,比如:floatingActionButtonfloatingActionButtonPositionisFloatingActionButtonDockedbottomBar

BottomAppBar 中,我们添加了一个导航按钮和两个操作按钮。所有的按钮都使用 IconButton 实现,里面包含一个 Icon。我们还用 Spacer 将操作按钮挤到右侧。

同时,我们在 Scaffold 中添加了一个 FloatingActionButton,并将其位置设置在 BottomAppBar 的中间。这时,我们需要通过 cutoutShape 参数为 BottomAppBar 设置一个适当的形状以适应 FloatingActionButton。在这个例子中,我们使用了 CircleShape

结论

BottomAppBar 提供了在 Jetpack Compose 中实现底部应用栏的方法。我们可以通过配置 Scaffold 中的 bottomBar 参数以及添加相关的操作按钮,来创建一个符合 Material Design 规范的底部应用栏。

这只是一个简单的例子,实际上,Jetpack Compose 提供了很多灵活的方式来实现你的设计。你可以根据需求,添加更多的操作按钮,或者自定义 FloatingActionButton 的形状和位置等。在探索的过程中,你可能会发现更多有趣和强大的功能。文章来源地址https://www.toymoban.com/news/detail-542668.html

到了这里,关于在 Jetpack Compose 中使用 BottomAppBar的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jetpack Compose: Hello Android

    Jetpack Compose 是一个现代化的工具包,用于使用声明式方法构建原生 Android UI。在本博文中,我们将深入了解一个基本的 “Hello Android” 示例,以帮助您开始使用 Jetpack Compose。我们将探讨所提供代码片段中使用的函数和注解。 在深入代码之前,请确保您已经准备好使用 Jetpac

    2024年03月10日
    浏览(60)
  • Android Jetpack Compose — Slider滑动条

            在Android Jetpack Compose中,Slider(滑动条)是一个常用的用户界面控件,它允许通过滑动条来选择一个范围或数值。Slider控件非常适用于调整音量、亮度、进度等需要连续调整的场景。 一、Slider的属性         Slider是Android Jetpack Compose中的一个控件,用于实现滑动条

    2024年02月11日
    浏览(54)
  • 探索Android Jetpack Compose的Surface组件

    随着声明性 UI 框架 Jetpack Compose 的出现,Android 开发变得更加简洁和直观。在这篇博客中,我们将深入探讨其中的一项基本构建块 —— Surface 组件,了解它如何影响 UI 的显示和设计。 一、Jetpack Compose和Surface组件 二、Surface组件的基本使用 三、影响Surface的属性 一、Jetpack Co

    2024年02月11日
    浏览(58)
  • 对于Android开发,我们为何要学Jetpack Compose?

    Jetpack Compose 是用于构建原生 Android 界面的新工具包。它可简化并加快 Android 上的界面开发,使用更少的代码、强大的工具和直观的 Kotlin API,快速让应用生动而精彩。Compose 使用全新的组件——可组合项 (Composable) 来布局界面,使用修饰符 (Modifier) 来配置可组合项。 为何Jetp

    2024年02月10日
    浏览(54)
  • Android Jetpack Compose实现轮播图效果

    在最近思索如何使用Compose方式改进我的开源TMDB电影列表应用程序的主屏幕时,一个激动人心的概念浮现在我的脑海中——为什么不整合一个吸引人的轮播图来展示即将上映的电影呢?在本文中,我将分享我的开发和实现自定义轮播图的经历,提供涉及不同步骤的见解。 首先

    2024年02月08日
    浏览(106)
  • 现代化 Android 开发:Jetpack Compose 最佳实践

    作者:古哥E下 如果一直关注 Compose 的发展的话,可以明显感受到 2022 年和 2023 年的 Compose 使用讨论的声音已经完全不一样了, 2022 年还多是观望,2023 年就有很多团队开始采纳 Compose 来进行开发了。不过也有很多同学接触了下 Compose,然后就放弃了。要么使用起来贼特么不顺手

    2024年02月17日
    浏览(73)
  • Android笔记(七)Android JetPack Compose组件搭建Scaffold脚手架

    在去年2022年曾发布一篇关于脚手架的文章:“Android JetPack Compose组件中Scaffold的应用” 。但是Android的版本从12变更到13及以上版本,导致一些细节的实现存在不同。在本文中,将从头开始介绍整个脚手架的搭建过程。 在Android Studio(版本是Graffie)中新建模块,选择“Empty Activ

    2024年02月04日
    浏览(49)
  • Android Jetpack Compose之确定重组范围并优化重组

    Compose的重组是智能的,Composable函数在进行重组时会尽可能的跳过不必要的重组,只对需要变化的UI进行重组。那Compose是如何认定UI需要变化呢?或者换句话说Compose是如何确定重组的范围呢。如果重组随意的发生,那么对UI的性能会是一个很不稳定的状态,时而好,时而坏。而

    2024年02月07日
    浏览(56)
  • Android 在xml 布局中如何嵌套 Jetpack Compose

    最近在项目开发的过程中需要用到 Jetpack Compose,之前没有接触过Compose,所以项目一直没有用到Compose。通过查看官网发现Compose上手比较快,但是准备比较复杂的布局要转换成Compose 不是一件容易的事情。那有没有可能只是对成熟的项目中的xml 布局中的某一部分进行改造,让其

    2024年04月10日
    浏览(51)
  • Android笔记(六):JetPack Compose常见的UI组件

    Text显示的文本来源可以引用res-values-strings.xml中的资源,如第一个显示文本所示。 点击按钮前: 点击按钮后: 点击第一个圆角按钮不放时,显示为按钮:true Button有两方面需要注意: (1) Buttton有一个参数interactionSource,用来监听组件状态的事件源,通过它获取组件的状态来

    2024年02月04日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包