概述 最近流行 左侧抽屉式的导航条菜单,知乎,360,QQ都使用了这样的导航菜单,我们也了解下: Android Design 的流行趋势:Navigation Drawer 导航抽屉 参考这篇文章:http...ColorDrawable(getResources().getColor( android.R.color.transparent))); // 注册导航菜单抽屉...R.string.drawer_close /* "close drawer" description for accessibility */ ) { // 当导航菜单抽屉...// onPrepareOptionsMenu() } // 当导航菜单抽屉.../ If the nav drawer is open, hide action items related to the content // view // 当弹出导航菜单时
抽屉(通常用于导航切换)是通过renderNavigationView方法渲染的,并且DrawerLayoutAndroid的直接子视图会成为主视图(用于放置你的内容)。...导航视图一开始在屏幕上并不可见,不过可以从drawerPosition指定的窗口侧面拖拽出来,并且抽屉的宽度可以使用drawerWidth属性来指定。...onDrawerClose function 每当导航视图(抽屉)被关闭之后调用此回调函数。 onDrawerOpen function 每当导航视图(抽屉)被打开之后调用此回调函数。...onDrawerSlide function 每当导航视图(抽屉)产生交互的时候调用此回调函数。 onDrawerStateChanged function 每当抽屉的状态变化时调用此回调函数。...抽屉可以有3种状态: idle(空闲),表示现在导航条上没有任何正在进行的交互。 dragging(拖拽中),表示用户正在与导航条进行交互。
三、抽屉式导航 有的人可能会说,我虽然有6-7个左右标签,但是只有一些标签是主要的,其他标签用户很少使用,这个时候一般采用抽屉式导航。...抽屉式导航是指将一些不常用的功能隐藏在当前页面,当需要用到的时候点击入口或者侧滑即可像抽屉一样展开,上面也说了,这种适合不需要经常切换的次要功能,比如设置、关于、会员等,快手和QQ是采用这种导航形式。...四、下拉式导航 和抽屉式导航类似,下拉式导航也是隐藏次要入口的一种形式,一般位于产品顶部,点击呼出导航菜单,导航的菜单以浮层的形式位于界面上层,通过点击导航菜单以外的区域使其收起,下拉式导航的面积一般较小...,所以采用列表的形式展现菜单内容居多,这种导航形式一般用作筛选内容。...(其实我觉得上面的驼式导航就是点聚式导航和tab导航的结合体),点聚式导航将核心功能聚合到主界面展示,方便用户呼出使用,由于点聚式导航占用空间小,一般融入一些动态的效果,让导航更具有趣味性,一般视频拍摄
2024年已经过半了,我作为聋人独立开发者,我经常会时不时反思:自己这半年到底进步了多少?...在点击菜单项时,会关闭抽屉并切换到对应的页面内容。 2.5 定义Drawer菜单项内容 DrawerContent 负责展示菜单项内容。...(3) 适用场景: • 比如一个购物应用中的导航栏,当用户点击左上角的菜单按钮时,抽屉滑出,显示购物车、收藏夹、账户信息等。 二....(2) 解释: • PermanentDrawerSheet 与前两种抽屉不同,它是固定在界面左侧的,用户无法将它关闭。它适合那些需要一直显示导航的场景,比如电子邮件客户端或者文件管理器。...五、总结 通过这个DrawerMenuAppDemo,展示了如何在Jetpack Compose M3中实现一个带有抽屉菜单的安卓应用,添加更多的菜单项以及对应的页面功能。
; document.body.appendChild(p); 当你点击 ▶️ 运行按钮,控制台抽屉 会弹出,输出 Hello, Snippets! 代码信息,且页面的内容发生更改。...图片 打开 Snippets 面板 Snippets 面板罗列了你的所有片段。你可以采用下面的两种方法之一打开该面板: 根据 Sources > 》 > Snippets 导航指引打开。...图片 通过 命令菜单 按下快捷键 Control+Shift+P (Windows/Linux) 或者 Command+Shift+P (Mac) 打开命令菜单。...输入片段的名字并按回车保存。 图片 从命令菜单创建一个片段 在 DevTools 内聚焦你的光标。...图片 从命令菜单运行一个片段 在 DevTools 内聚焦你的光标。 按下 Control+O (Windows/Linux) 或者 Command+O (Mac) 去打开命令菜单。 输入 !
在本文中,我们将为大家讲解另外一个用例,即类似操作栏 (Action Bar)、底部标签栏或者抽屉型导航栏之类的 UI 组件如何在应用中实现导航功能。...我需要在应用中增加一些页面,所以有必要使用抽屉式导航栏或者底部标签栏来辅助用户导航。但是我们该如何使用这些 UI 组件来集成导航功能呢?通过点击监听器手动触发导航动作吗? 不需要!无需任何监听器。...选项菜单 应用的选项菜单现在尚未发挥作用。..."支配" 菜单项了,我将 MenuItem 的 id 与之前所创建的目的页面的 id 进行了匹配。...抽屉式导航栏 虽然看上去不错,但是如果您设备的屏幕尺寸较大,那么底部标签栏恐怕无法提供最佳的用户体验。
一个完整的路由页可能会包含导航栏、抽屉菜单(Drawer)以及底部Tab导航菜单等。...我们实现一个页面,它包含: 一个导航栏 导航栏右边有一个分享按钮 有一个抽屉菜单 有一个底部导航 右下角有一个悬浮的动作按钮 代码如下: class ScaffoldRoute extends StatefulWidget...MyDrawer 抽屉菜单 BottomNavigationBar 底部导航栏 FloatingActionButton 漂浮按钮 AppBar AppBar是一个Material风格的导航栏,通过它可以设置导航栏标题...、导航栏菜单、导航栏底部的Tab标题等。...如果开发者提供了抽屉菜单,那么当用户手指从屏幕左(或右)侧向里滑动时便可打开抽屉菜单。
Scaffold(脚手架) 5.1 Scaffold介绍 一个完整的路由页可能会包含导航栏、抽屉菜单(Drawer)以及底部 Tab 导航菜单等。...下面构造一个完整的路由页面对其进行讲解: 导航栏 导航栏右侧分享按钮 抽屉菜单 底部导航栏 悬浮按钮 class HomePage extends StatefulWidget { const HomePage...key, this.leading, //导航栏最左侧Widget,常见为抽屉菜单按钮或返回按钮。...//其它属性见源码注释 }) 初始的导航栏只有文字,如果给Scaffold添加了抽屉菜单,则会给Scaffold首页导航栏左侧增加菜单按钮,正如上面所示。...如果开发者提供了抽屉菜单,那么当用户手指从屏幕左(或右)侧向里滑动时便可打开抽屉菜单。
createDrawerNavigator抽屉效果,侧边滑出: ?...、headerLeft等; DrawerNavigatorConfig drawerWidth: 设置侧边菜单的宽度; drawerPosition: 设置侧边菜单的位置,支持’left’、 ‘right...’,默认是’left’; contentComponent: 用于呈现抽屉导航器内容的组件,例如导航项。...接收抽屉导航器的 navigation 属性 。默认为DrawerItems。...有关详细信息,请参阅下文; contentOptions: 配置抽屉导航器内容,见下文; useNativeAnimations: 是否启用Native动画,默认启用; drawerBackgroundColor
谷歌官方推出了一种侧滑菜单的实现方式(抽屉效果),即 DrawerLayout,这个类是在Support Library里的,需要加上android-support-v4.jar这个包。...2、抽屉菜单的摆放和布局通过android:layout_gravity属性来控制,可选值为left、right或start、end。 3、抽屉菜单的宽度为 dp 单位而高度和父View一样。...抽屉菜单的宽度应该不超过320dp,这样用户可以在菜单打开的时候看到部分内容界面。...--可以在程序中根据抽屉菜单 切换Fragment--> <FrameLayout android:id="@+id/fragment_layout" android...app:headerLayout="@layout/header" //导航的顶部视图 app:menu="@menu/menu_drawer_left" /> //导航的底部菜单
它拥有两个子元素,第一个是主内容,第二个是菜单内容。...这里主布局是空的LinearLayout,菜单布局是ListView。为了使菜单布局宽度合适,我将其设置为360dp。...主内容区的布局代码必须放在侧滑菜单布局的前面, 因为 XML 元素按 z 序(层叠顺序)排列,并且抽屉式导航栏必须位于内容顶部。...菜单布局必须设置layout_gravity属性,它表示侧滑菜单的滑出方向。...* 抽屉打开的时候,点击抽屉,drawer的状态就会变成STATE_DRAGGING,然后变成STATE_IDLE */ @Override public void onDrawerStateChanged
06 抽屉式导航 描述: 抽屉式也是谷歌提出来的一种导航模式,由于虚拟按键的存在,所以在安卓上使用底部Tab会造成双底栏,视觉观感不佳; 一般用来放置对用户而言不太常用或者对于产品而言不太核心的功能,或者不那么需要频繁切换内容的应用...,用户不断开关抽屉体验不好。...07 下拉式/菜单导航 描述: 与抽屉式导航的目的相同,都是为了突出内容。...iOS中下拉菜单为自定义控件,可以实现不同类别之间的切换; 下拉导航还有一种变式,就是下来菜单中展示两级甚至多级,一般在电商产品中比较常见,因为品类和筛选条件众多。 ?...优点: 菜单与界面的连贯性比抽屉式要好,容易让用户感知当前位置; 缺点: 位于屏幕上方,相对隐蔽且不能结合手势操作,不适合于频繁的切换功能使用; 考虑到导航菜单的可用面积较小,所以一般采用列表的形式展示菜单内容
这一次,导航是由抽屉式导航栏中的菜单项触发的 当用户点击 DrawerLayout 中的菜单项时,应用会导航至和那些菜单项关联的目的地。...其实我们本可以查看整个应用的层次结构 (而且我也十分鼓励大家这么做,这有助于可视化标准视图层级中所发生的事),但是我只想选择几个特定的视图来解释。...另一个我想特别指出的是 NavigationView: ? 这个视图目前在左边屏幕外,它是一个 NavigationDrawer 并且其菜单选项被用来在目的地之间导航。...应用展示了 NavigationView (抽屉式导航栏) 覆盖在 activity 内容上方 接下来是 NavigationView,它是一个从左边划入的抽屉式导航栏。...它在导航图中提供了一个可能目的地的菜单栏。NavigationView 其中一个很酷的特性是,您可以使用菜单项的 ID 自动地导航到对应菜单项关联的目的地,从而避免了手动创建基于菜单选择的重复代码。
(2)TabNavigator:类似底部导航栏,用来在同一屏幕下切换不同界面 (3)DrawerNavigator:侧滑菜单导航栏,用于轻松设置带抽屉导航的屏幕 ?...默认为左侧位置 contentComponent - 用于呈现抽屉内容的组件,例如导航项。 接收抽屉的导航。...2.3DreawerNavigator抽屉导航 DrawerNavigator是一个抽屉导航。设置方式其实跟设置Tab差不多。只是需要设定某些特殊的属性。...我们可以在这个属性里面设置抽屉导航的样式。...我可以放慢脚步,但绝能不回头,我的梦想,在路上。
一个可在Flutter应用中创建可折叠的侧边栏导航抽屉的 Flutter 插件。...原文链接:https://medium.com/flutterdevs/foldable-sidebar-in-flutter-7addcfb8304f 移动应用程序具有多种方法来处理屏幕之间的导航,例如导航抽屉...Flutter使开发人员可以轻松使用导航抽屉,而无需其他人就无需编写大部分代码。 在本博客中,我们将探讨Flutter中 的**可折叠侧边栏。...利用Material Design的移动应用程序有两个必不可少的导航选择。这些导航是“选项卡和抽屉”。抽屉是选项卡的一种可选选择,因为有时移动应用程序没有足够的空间来帮助选项卡。 抽屉是不可见的侧屏。...我们将添加一个菜单图标和onPressed()方法。在此方法中,我们将定义setState()。当_fsbStatus等于FSBStatus.FSB_OPEN时,抽屉将关闭。否则,它们将打开。
Android 中的 DrawerLayout 就是一个抽屉导航组件,所以这个组件的功能当然也是一样的。...我们的这个抽屉导航视图一开始是看不见的,就像抽屉一样,你不拉开抽屉你看不到东西,所以导航视图可以从drawerPosition指定的窗口侧面拖拽出来,并且抽屉的宽度可以使用drawerWidth属性来指定...drawerPosition left 和right 设置抽屉导航菜单从哪一侧进行滑动出来,根据共有两个枚举值分别 为:DrawerLayoutAndroid.positions.Left和DrawerLayoutAndroid.positions.Right...抽屉可以有3种状态: dle(空闲),表示现在导航条上没有任何正在进行的交互。 dragging(拖拽中),表示用户正在与导航条进行交互。...它将只对API 21以上的效果 DrawerLayoutAndroid 方法 openDrawer(0) 打开抽屉导航 closeDrawer(0) 关闭抽屉导航 实例演示 还是老样子,看代码前,我们先看看效果图
, ), ), 复制代码 实际上就是给最外层套了一个Padding Scaffold,TabBar,底部导航 一个完整的路由页面可能会包含导航栏,抽屉菜单(Drawer) 以及底部 Tab 导航栏菜单等...,导航栏的按钮 2,抽屉菜单 3,底部导航 4,右下角悬浮按钮 实现代码如下: class ScaffoldRoute extends StatefulWidget { @override State...MyDrawer:抽屉菜单 BottomNavigationBar:底部导航栏 FloatingActionButton:漂浮按钮 AppBar Appbar 是一个 Material 风格的导航栏,...通过他可以设置标题,导航栏菜单,导航底部tab等 AppBar({ Key key, this.leading, //导航栏最左侧Widget,常见为抽屉菜单按钮或返回按钮。...//其它属性见源码注释 }) 复制代码 如果给 Scaffold 添加了抽屉菜单,默认情况下, Scaffold 会自动将 AppBar 的 leading 设置为菜单按钮(如上面截图所示),点击它可以打开抽屉菜单
tabs(选项卡) a motion and scroll framework to tie them together(将这些控件结合在一起的手势滚动框架) 官方视频简介 Navigation View 抽屉导航是...NavigationView 通过提供抽屉导航所需要的框架让实现更简单,同时它还能够直接通过菜单资源文件来直接生成导航元素。 ?...最简单的抽屉菜单就是几个可点击的菜单集合: <item android:id="@+id/navigation_item...icon="@drawable/ic_android" android:title="@string/navigation_item_2"/> group> 被点击过的item会高亮显示在抽屉菜单中...,让你可以处理选择事件,改变复选框状态,加载新内容,关闭导航菜单,以及其他任何你想做的操作。
④ HomeViewModel 二、抽屉布局 ① 添加菜单 ② 打开抽屉 三、导航疫情页面 四、动态权限请求 ① 添加依赖 ② 权限请求 五、拍照显示图片 ① ActivityResult API ②...ContentScale.FillBounds ) 这里我们修改了一下model的值,通过ImageRequest去设置要加载的图片,并设置加载失败的时候的图片,这个图片去我的源码中获取...二、抽屉布局 这个抽屉布局通过主页面的左上角的菜单点击进行打开,因此我们首先添加一个菜单按钮和一个疫情新闻按钮,在HomePage中, ① 添加菜单 增加如下代码: navigationIcon...三、导航疫情页面 在前几篇文章中的疫情页面已经安静很久了,我们不能忘记它了,所以我们在主页面导航到疫情新闻页面。...在HomePage中,TopBar的左边是菜单图标,右边是一个生病的图标,这个图标点击之后就导航到疫情新闻页面,代码如下: mNavController.navigate(PageConstant.EPIDEMIC_NEWS_LIST_PAGE
差不多翻译完iOS组建后,回来翻译MD~ Navigation drawer(抽屉式导航/汉堡导航) Material Design链接:Navigation drawer Navigation drawer...它们可以永久在屏幕上显示,也可以通过导航菜单图标进行控制。...Standard drawers 可以永久可见或通过点击导航菜单图标打开和关闭。 它们只能用于平板电脑和台式机。 在手机上,使用 modal drawers 代替。 ?...导航抽屉表可以从屏幕左侧出现 (1),或者在与 bottom app bar (2)同时使用时从屏幕底部打开。 范围小于62.5% ?...如果优先考虑进行帐户切换,则可以将帐户切换器放置在导航抽屉的 header 区域 ?
领取专属 10元无门槛券
手把手带您无忧上云