首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将AppBar与material ui中的抽屉组合

将AppBar与Material-UI中的抽屉组合可以实现一个具有导航功能的页面布局。AppBar是一个通用的顶部导航栏组件,而Material-UI中的抽屉组件则提供了一个侧边栏菜单的实现。

组合AppBar和抽屉组件的步骤如下:

  1. 导入所需的组件:
代码语言:txt
复制
import React from 'react';
import { AppBar, Drawer, IconButton, List, ListItem, ListItemIcon, ListItemText, Toolbar } from '@material-ui/core';
import MenuIcon from '@material-ui/icons/Menu';
  1. 在组件中定义状态和事件处理函数:
代码语言:txt
复制
class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      drawerOpen: false
    };
  }

  toggleDrawer = () => {
    this.setState({ drawerOpen: !this.state.drawerOpen });
  }
}
  1. 在render方法中渲染AppBar和抽屉组件:
代码语言:txt
复制
render() {
  return (
    <div>
      <AppBar position="static">
        <Toolbar>
          <IconButton edge="start" color="inherit" onClick={this.toggleDrawer}>
            <MenuIcon />
          </IconButton>
        </Toolbar>
      </AppBar>
      <Drawer open={this.state.drawerOpen} onClose={this.toggleDrawer}>
        <List>
          <ListItem button>
            <ListItemIcon><Icon /></ListItemIcon>
            <ListItemText primary="Item 1" />
          </ListItem>
          <ListItem button>
            <ListItemIcon><Icon /></ListItemIcon>
            <ListItemText primary="Item 2" />
          </ListItem>
          {/* 添加更多的菜单项 */}
        </List>
      </Drawer>
      {/* 页面内容 */}
    </div>
  );
}

在上述代码中,AppBar组件包含一个工具栏和一个菜单图标按钮。当点击菜单图标按钮时,调用toggleDrawer函数来切换抽屉的打开状态。抽屉组件的open属性控制抽屉的显示与隐藏,onClose属性指定了抽屉关闭时的回调函数。

抽屉组件中的List和ListItem用于定义菜单项,可以根据需要添加更多的菜单项。ListItemIcon用于显示菜单项的图标,ListItemText用于显示菜单项的文本。

这种组合方式适用于需要在页面顶部显示导航栏,并在侧边提供菜单导航的场景,例如管理后台、应用程序设置等。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flutter Drawer 抽屉视图自定义header

移动开发,drawerLayout抽屉视图是比较常用一种控件。一般将用户头像,用户名等信息在抽屉视图中呈现。 drawer也可以提供一些选项,比如跳转去设置页,跳转去用户资料页面等等。...使用materialUserAccountsDrawerHeader 使用materialUserAccountsDrawerHeader,设置accountName和currentAccountPicture...FractionalOffset.bottomLeft Alignchild为Container,并设定一个具体高度 头像文字Container仿照ListTile风格,左边是一个头像,右边是文字...在自定义header过程,我们组合使用了多种widget; 有层叠Stack,用于对齐Align,设定具体尺寸和marginContainer,水平放置Row以及竖直放置Column。...这些widget各有特点,根据具体情况来组合使用。同一个UI效果,做法也不止一种。

1.6K20

Flutter 全栈式——页面框架

对于没有相关基础的人,在正式学习AppUI之前,建议先了解Material Design相关知识 关于Material Design设计风格资料 MaterialApp MaterialApp代表使用...出现在Android任务管理器程序快照之上 ,或iOS程序切换管理器 onGenerateTitle GenerateAppTitle title一样,但含有一个context参数用于做本地化...,整个页面分为如下几个部分 [l0p8slqyns.jpeg] Scaffold属性 属性 类型 简述 appBar PreferredSizeWidget 界面顶部一栏控件,相当于 Android... ActionBar body Widget 当前页面所显示主要内容 floatingActionButton Widget Material中所定义FAB,是一个悬浮功能按钮 floatingActionButtonLocation...则body延伸到Scaffold底部 extendBodyBehindAppBar bool 作用类似extendBody,但延伸位置是AppBar AppBar AppBar可以显示顶部leading

2.9K30

Flutter | 容器组件

例如:Material 组件 AppBar 右侧菜单,我们使用 SizedBox 指定 loading 按钮大小,代码如下: AppBar( title: Text("Box"), actions...UI 变化,而不是重新 build 流程,这样会节省 layout 开销,所以性能会比较好,例如 Flow 组件,内部就是使用矩阵变换来更新 UI ,除此之外,Flutter 动画组件也大量使用了...Material 风格导航栏,通过他可以设置标题,导航栏菜单,导航底部tab等 AppBar({ Key key, this.leading, //导航栏最左侧Widget,常见为抽屉菜单按钮或返回按钮...//其它属性见源码注释 }) 复制代码 如果给 Scaffold 添加了抽屉菜单,默认情况下, Scaffold 会自动 AppBar leading 设置为菜单按钮(如上面截图所示),点击它可以打开抽屉菜单...打开抽屉方法在 ScaffoldState ,通过 Scaffold.of() 可以获取腹肌最近 Scaffold 组件 State 对象 ToolBar 下面,在 AppBar 通过 Bottom

5.5K10

Flutter容器类组件

由于矩阵变化只会作用在绘制阶段,所以在某些场景下,在UI需要变化时,可以直接通过矩阵变化来达到视觉上UI改变,而不需要去重新触发build流程,这样会节省layout开销,所以性能会比较好。...如之前介绍Flow组件,它内部就是用矩阵变换来更新UI,除此之外,Flutter动画组件也大量使用了Transform以提高性能。...Align等组件组合一个多功能容器,所以我们只需通过一个Container组件可以实现同时需要装饰、变换、限制场景。... 5.2 AppBar AppBar是一个Material风格导航栏,通过它可以设置导航栏标题、导航栏菜单、导航栏底部Tab标题等。...下面我们看看AppBar定义: AppBar({ Key? key, this.leading, //导航栏最左侧Widget,常见为抽屉菜单按钮或返回按钮。

3.9K40

Flutter开发-容器类组件

: 组件名称 解释 AppBar 一个导航栏骨架 MyDrawer 抽屉菜单 BottomNavigationBar 底部导航栏 FloatingActionButton 漂浮按钮 AppBar AppBar...下面我们看看AppBar定义: AppBar({ Key key, this.leading, //导航栏最左侧Widget,常见为抽屉菜单按钮或返回按钮。...//其它属性见源码注释 }) 如果给Scaffold添加了抽屉菜单,默认情况下Scaffold会自动AppBarleading设置为菜单按钮(如上面截图所示),点击它便可打开抽屉菜单。...本节开始部分示例实现了一个左抽屉菜单MyDrawer,它源码如下: class MyDrawer extends StatelessWidget { const MyDrawer({...抽屉菜单页由顶部和底部组成,顶部由用户头像和昵称组成,底部是一个菜单列表,用ListView实现 FloatingActionButton FloatingActionButton是Material设计规范一种特殊

3.5K20

Flutter目录结构以及基本架构

,在本例,Flutter工程为 MyApp 类一个实例。...在build方法,我们通常通过对基础Widget进行相应UI配置,或是组合各类基础Widget方式进行UI定制化。...MaterialApp是一个方便Widget,是用于构建Material设计风格应用组件封装框架,它封装了应用程序级别的一些Widget。一般作为顶层Widget来使用。...其常用属性如下: home,主页,即应用首页 title,标题 color,颜色 theme,主题 Scaffold是Material Design布局结构基本实现。...Scaffold有下面几个主要属性: appBar,显示在界面顶部一个AppBar,即页面的导航栏 body,当前界面所显示主要内容widget drawer,抽屉菜单控件 以上。

5.7K20

flutter 起步

flutter简介Flutter是谷歌移动UI框架,可以运行在iosandroid系统上,可以以完成app开发,使用情况页面大多数涉及到flutter 开发app 都是混合开发,占比并不多。...persistentFooterButtons - 固定在下方显示按钮,比如对话框下方的确定、取消按钮。drawer - 抽屉菜单控件。...AlertDialog:一个弹框组件flutter问题:Flutter通过代码注入到正在运行DartVM,来实现Hot Reload这种神奇效果,在DartVM程序类结构更新完成后,...Scaffold :Scaffold 实现了基本 Material Design 布局结构。在 Material 设计定义单个界面上各种布局元素,在 Scaffold 中都支持。...persistentFooterButtons - 固定在下方显示按钮,比如对话框下方的确定、取消按钮。drawer - 抽屉菜单控件。

4.4K20

6详解AppBar小部件

由于它是一个如此常用组件,因此 Flutter 为该功能提供了一个名为AppBar专用小部件。 在本教程,我们通过一些实际示例向您展示如何在 Flutter 应用程序自定义 AppBar。...以下是我们介绍内容: Flutter AppBar 是什么? 应用栏布局 自定义 AppBar Flutter AppBar 是什么?...Flutter AppBar 是根据Material Design指南构建应用程序组件。它通常位于屏幕顶部,并且能够在其布局包含其他小部件。...: AppBar(), ); } } Flutter AppBar 导航箭头 当我们 添加Drawer到Scaffold时 ,会分配一个菜单图标leading来打开抽屉。...AppBar 标题图片 默认情况title下,根据 Material 指南 AppBar 左侧对齐。

16.3K10

【软件开发规范七】《Android UI设计规范》

去掉现实杂质和随机性,保留其最原始纯净形态、空间关系、变化过渡,配合虚拟世界灵活特性,还原最贴近真实体验,达到简洁直观效果。 ​...2.2 材质空间 材质 ​编辑 Material Design ,最重要信息载体就是魔法纸片。纸片层叠、合并、分离,拥有现实厚度、惯性和反馈,同时拥有液体一些特性,能够自由伸展变形。...通过这个动画,点击位置所操作元素关联起来,体现了 Material Design 动画功能性。 ** 转场效果 ** 通过过渡动画,表达界面之间空间层级关系,并且跨界面传递信息。 ​...以下是一些常见尺寸距离: 顶部状态栏高度:24dp Appbar最小高度:56dp 底部导航栏高度:48dp 悬浮按钮尺寸:56x56dp/40x40dp 用户头像尺寸:64x64dp/40x40dp...如果没有侧边抽屉,则放在Appbar下拉菜单底部。 ​编辑 ​编辑 设置界面只能包含设置项,诸如关于、反馈之类界面,入口应该放在其他地方。 设置项使用通栏分隔线来分组。7项以下不必分组。

5K20

Flutter 可折叠边栏

一个可在Flutter应用创建可折叠侧边栏导航抽屉 Flutter 插件。...Flutter使开发人员可以轻松使用导航抽屉,而无需其他人就无需编写大部分代码。 在本博客,我们探讨Flutter **可折叠侧边栏。...利用Material Design移动应用程序有两个必不可少导航选择。这些导航是“选项卡和抽屉”。抽屉是选项卡一种可选选择,因为有时移动应用程序没有足够空间来帮助选项卡。 抽屉是不可见侧屏。...在内部,我们添加drawerBackgroundColor滑动到屏幕上时,是指抽屉背景色。我们添加抽屉方式,以创建一个CustomSidebarDrawer()类。...在此小部件,我们添加一个列小部件。在内部,我们添加图像,文本和ListTile。我们添加三个带有图标和文本ListTile。

6.3K50

第129期:flutter布局和开发响应式app方案

在flutter,几乎所有的东西都是组件,布局模型也不例外。图片,Icon, 文本等等,我们在flutter客户端中看到所有内容都是组件。...我们看不到东西,比如:rows,columns,等等等等也都是组件。 我们简单组件组合在一起,构成复杂组件。...比如我们经常写导航栏: image.png 他布局可能是这样: image.png 用树形图来表示是这样: image.png 图中大部分内容应该跟我们想象差不了多少,可能会有些人对...Material apps 和 Non-Material apps 对于Material app,我们可以使用app本身自带一些组件,比如:Scaffold提供了默认顶部导航,底部导航,抽屉等组件,...其他可以用来创建响应式ui组件有,比如: AspectRatio CustomSingleChildLayout CustomMultiChildLayout FittedBox FractionallySizedBox

86850

compose--初入compose、资源获取、标准控件布局

重组 1.1 安卓传统UI 先来说在安卓传统UI,大致流程就是xml我们定义了一系列布局(组件)和控件后,由ActivityonCreate()触发xml解析,生成View树:DecorView...当然了,我们只需要关注在onCreate()设置xml即可,由于布局是一次性加载,即生成View树过程是同步进行 1.2 compose UIcompose而言,每个可组合函数(组件)...在compose,每个可组合函数调用直至渲染完成,称之为重组 通过异步上树虽然带来了性能提升,但是管理方面变得困难,所以compose规定,每个可组合函数都是独立运行存在,可组合函数内部应该仅处理...,实际开发google也推荐:UI设计从MD2转变为MD3 2.BOM 对于compose版本管理,官方推荐使用BOM,导入BOM后好处是:导入compose其他库组,都将使用BOM定义版本...value,一个是onValueChange ,结合之前重组概念来理解,每次重组都会重新调用可组合函数,所以输入框内容value必须是一个全局对象,在compose,可以使用remember函数来使得一个变量成为全局变量

5.8K30

Flutter学习

Android view区别 AndroidView是可变,当用户交互或数据更新时,可直接调用Viewinvalidate方法重绘,达到更新UI目的。...在Flutter,一个自定义widget通常是通过组合其它widget来实现,而不是继承 某些widget属性需要单个widget(child),而其它一些属性,如action,需要一组widgets...Flutter AppBar(顶端栏) Button RaisedButton :凸起按钮,其实就是AndroidMaterial Design风格Button ,继承自MaterialButton...在Flutter,导航器管理应用程序路由栈。路由推入(push)到导航器,将会显示更新为该路由页面。 从导航器栈中弹出(pop)路由,显示返回到前一个路由。...MethodChannel原生交互 Flutter 集成到现有应用 Flutter Android 相互通信 File > New > New Module > flutter 新建到自己项目目录下

2.6K20
领券