Jetpack Compose——TopAppBar(顶部应用程序栏)、BottomAppBar(底部应用程序栏)_compose bottomappbar-程序员宅基地

技术标签: Compose学习  Compose  TopAppBar  BottomAppBar  

该博客基于:compose_version = '1.1.0-beta01'

TopAppBar:位于屏幕的顶部。一般包含标题,导航图标和其他的更多操作等
BottomAppBar:位于屏幕的底部,一般显示导航和按键操作

TopAppBar

首先看看TopAppBar的参数:有两种参数类型

TopAppBar(
    modifier: Modifier = Modifier,//布局修饰
    backgroundColor: Color = MaterialTheme.colors.primarySurface,//appbar背景颜色
    contentColor: Color = contentColorFor(backgroundColor),//子级内容颜色
    elevation: Dp = AppBarDefaults.TopAppBarElevation,//标题栏阴影效果
    contentPadding: PaddingValues = AppBarDefaults.ContentPadding,//内边距
    content: @Composable RowScope.() -> Unit//appbar的内容,默认布局是Row,内容将被水平放置
)
TopAppBar(
    title: @Composable () -> Unit,//appbar的中心标题
    modifier: Modifier = Modifier,//布局修饰
    navigationIcon: @Composable (() -> Unit)? = null,//导航图标
    actions: @Composable RowScope.() -> Unit = {},//其他行为,例如设置,分享等
    backgroundColor: Color = MaterialTheme.colors.primarySurface,//appbar背景颜色
    contentColor: Color = contentColorFor(backgroundColor),//子级内容颜色
    elevation: Dp = AppBarDefaults.TopAppBarElevation//标题栏阴影效果
)

简单使用:

@Composable
fun BarTest() {
    val context = LocalContext.current
    Column(
        modifier = Modifier
            .fillMaxSize()
            .background(Color.LightGray)
    ) {
        //自定义的appbar
        TopAppBar(
            modifier = Modifier.fillMaxWidth(),
            backgroundColor = Color.White,//背景色
            contentColor = Color.Red, //子级内容颜色
            contentPadding = PaddingValues(4.dp)//AppBar的内边距
        ) {
            //返回按钮
            IconButton(onClick = { Toast.makeText(context, "返回", Toast.LENGTH_SHORT).show() }) {
                Icon(Icons.Filled.ArrowBack, null)
            }
            //标题
            Text(
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lplj717/article/details/122056640

智能推荐

安卓手机垃圾清理神器!彻底清理你的手机垃圾!手机瞬间飞起来!_安卓手机彻底清理垃圾-程序员宅基地

文章浏览阅读2.1w次,点赞5次,收藏8次。使用安卓手机的小伙伴经常会遇到一个令人头疼的问题“手机时间一久,各种缓存数据和垃圾文件会越来越多,不及时清理的话,不见占用储存空间,而且还会拖慢手机的运行速度”,大家可能使用过很多垃圾清理软件,清理以后感觉效果不明显(我其实是想说其实没卵用~)今天为大家带来一款手机垃圾清理神器!软件安装就是高级版,所有功能免费使用!亲测效果杠杠滴!与某管家、某卫士等软件相比,这款软件不仅干净无广告,没..._安卓手机彻底清理垃圾

基于卡尔曼滤波器融合的激光IMU激光里程计学习_ieskf-程序员宅基地

文章浏览阅读3.6k次,点赞3次,收藏53次。主要学习的是港科大今年开源的LINS算法.该算法是直接在lego上面改的,主要针对的还是16线激光.算法主要的核心是在激光里程计节点, 只需要重点学习这部分就可以了._ieskf

Android.mk_android cmake mk-程序员宅基地

文章浏览阅读247次。android ndk开发有一个重要的文件 Android.mk,他虽然重要,但是对它进行深入介绍的文档却比较的少,这里将对Android.mk中常用的宏和变量进行说明: 由于这一部分的内容多,资料零散,本文档会进行持续性的更新; 方便他人亦是方便自己,如果觉得还行就下右边的投票吧,这样可以帮助其他人更快的找到解决问题的方法;有疑问的也可留言哦, 谢谢!_android cmake mk

Activiti流程变量的设置和获取_activiti servicetask 执行参数-程序员宅基地

文章浏览阅读3.5k次。原文地址:https://blog.csdn.net/zjx86320/article/details/50345731流程变量在整个工作流中扮演很重要的作用。例如:请假流程中有请假天数、请假原因等一些参数都为流程变量的范围。流程变量的作用域范围是只对应一个流程实例。也就是说各个流程实例的流程变量是不相互影响的。这篇博文就简单的为大家介绍下流程变量的设置和获取。一、设置流程变量 流程变..._activiti servicetask 执行参数

position:fixed的解决办法!_js position:fixed-程序员宅基地

文章浏览阅读1.1k次。最近因为工作需要是在html中实现一个导航菜单,在滚动打的时候这个菜单是静止的,一时该怎么做,没有头绪,按照W3C position:fixed是可以的,可以IE不支持,陆续从网上搜了下,总结了几种方法 第一种方法,使用javascript实现 第二种方法: 使用所以用其他的属性来模拟_js position:fixed

html 页面自动滚动,打开网页后屏幕自动滚动代码-程序员宅基地

文章浏览阅读1.2k次。双击页面自动滚动代码一:以下代码直接放在你的网页中间就可以了//双击鼠标滚动屏幕的代码var currentpos,timer;function initialize(){timer=setInterval ("scrollwindow ()",30);}function sc(){clearInterval(timer);}function scrollwindow(){currentpos=d..._浏览器 自动滚屏 html 代码

随便推点

【iOS】Xcode9 自动化脚本打包_xcode 打包的xcarchive文件-程序员宅基地

文章浏览阅读4.3k次。由于从Xcode8开始不再支持xcrun来导出ipa包(不是完全不可用,需要手动拷贝Xcode7.x版本中的PackageApplication文件到高版本Xcode中的对应的路径下,路径地址:/Applications/Xcode 7.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin)。所以本文主要介绍如何_xcode 打包的xcarchive文件

Mybatis之 SqlSession简介_mybatis sqlsession-程序员宅基地

文章浏览阅读6.1k次。SqlSession 的创建需要借助于 SqlSessionFactory。SqlSessionFactory 是 Mybatis 的关键对象。每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。如下图所示:SqlSessionFactory 可以理解为是创建 SqlSession 的工厂,SqlSessionFactory 是线程安全的,一旦被创建,应_mybatis sqlsession

解决Ubuntu 安装vim 的Package vim has no installation candidate问题,100%有效_ubuntu1804离线 安装vim软件包-程序员宅基地

文章浏览阅读2.9w次,点赞12次,收藏23次。当输入sudo apt-get install vim-gtk时出现了下面问题:nigel@yq-ubuntu:~/worksp$ sudo apt-get install vim-gtkReading package lists... DoneBuilding dependency tree Reading state information... DonePa_ubuntu1804离线 安装vim软件包

Android 安卓10.0无法保存图片,无法读取手机图片并显示解决方法!!!_安卓10.0调用相机无法保存图片-程序员宅基地

文章浏览阅读9.4k次,点赞13次,收藏14次。只需要在 AndroidManifest.xml (清单)文件中 application 标签中添加以下属性即可!android:requestLegacyExternalStorage="true"_安卓10.0调用相机无法保存图片

HDOJ 1312 Red and Black (深搜 DFS)_hdoj 1312 red and black 深搜-程序员宅基地

文章浏览阅读423次。HDOJ 1312 Red and Black (深搜 DFS) 思路:深搜 (DFS),通过四向搜索将 可走的点 变为 不可走的点 ,直到全部,不可再走,记录所有可走的点数。_hdoj 1312 red and black 深搜

Windows登录日志详解_microsoft windows security auditing.-程序员宅基地

文章浏览阅读10w+次,点赞8次,收藏44次。日志在很多时候是非常重要的,尤其是登录日志。从登录日志中可以发现很多有价值的信息,window2008及以后的日志基本一致,2003由于时间太长,微软都停止更新了,所以重点介绍2008的登录日志。_microsoft windows security auditing.

推荐文章

热门文章

相关标签