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

安卓软件开发:使用Jetpack Compose实现DrawerMenuApp

在点击菜单项时,会关闭抽屉并切换到对应的页面内容。 2.5 定义Drawer菜单项内容 DrawerContent 负责展示菜单项内容。...点击某个菜单项时会调用这个函数,然后选中的菜单项作为参数传递。...(3) 适用场景: • 比如一个购物应用中的导航栏,当用户点击左上角的菜单按钮时,抽屉滑出,显示购物车、收藏夹、账户信息等。 二....它允许用户更自然和抽屉交互 (2) 解释: • DismissibleDrawerSheet 的工作原理与 ModalDrawerSheet 类似,但不同的是它更注重用户手势关闭的体验。...用户可以直接通过滑动关闭这个抽屉,而不是必须点击关闭按钮。 • 这为用户提供了更流畅的体验。

57650

导航组件概览 | MAD Skills

概览 本文会简要概述导航组件,包括如何创建一个带有导航能力的、已启用导航的 UI 中有关包含层级的细节的新应用,以及对于一些主要 API 和导航组件工作原理的解释。...操作 (action) 定义了可能的导航,但其不指定导航发生的时间,该逻辑存在于您的代码中。...这一次,导航是由抽屉式导航栏中的菜单项触发的 当用户点击 DrawerLayout 中的菜单项时,应用会导航至和那些菜单项关联的目的地。...应用展示了 NavigationView (抽屉式导航栏) 覆盖在 activity 内容上方 接下来是 NavigationView,它是一个从左边划入的抽屉式导航栏。...它在导航图中提供了一个可能目的地的菜单栏。NavigationView 其中一个很酷的特性是,您可以使用菜单项的 ID 自动地导航到对应菜单项关联的目的地,从而避免了手动创建基于菜单选择的重复代码。

1.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发(37) 使用DrawerLayout实现抽屉式导航菜单

    概述 最近流行 左侧抽屉式的导航条菜单,知乎,360,QQ都使用了这样的导航菜单,我们也了解下: Android Design 的流行趋势:Navigation Drawer 导航抽屉 参考这篇文章:http...2.点击图标按钮 从左侧向右 慢慢退出一个 菜单视图(View),遮盖在 内容页(首页)的视图上,同时,产生遮盖层。如图2所示。 实 官方示例 参考自谷歌开发者网站的示例,在这个页面可以下载到示例。...))); // 注册导航菜单抽屉 的弹出和关闭事件 mDrawerToggle = new ActionBarDrawerToggle(this, /* host Activity...R.string.drawer_close /* "close drawer" description for accessibility */ ) { // 当导航菜单抽屉...// onPrepareOptionsMenu() } // 当导航菜单抽屉

    3.6K00

    Android开发笔记(一百三十三)导航视图NavigationView

    对于Android来说,侧滑功能用到了抽屉布局DrawerLayout,我们只要把页面的根布局设置为DrawerLayout,并指定弹出的侧滑视图,就能通过右拉页面左侧边缘,从而拉出定义好的侧滑视图。...需实现接口OnNavigationItemSelectedListener的方法onNavigationItemSelected,该方法在点击具体的菜单项时触发。...3、每个菜单项只有图标和文字,不能添加其他控件。 4、无法设置每个菜单项的间距。 所以呢,要想实现丰富可定制的导航菜单,还得自己定义一个导航视图。..."); } else { tv_sliding.setText("您点击了菜单项:" + mMenuItemList.get(position-1).menu_name); } dl_sliding.closeDrawers...(); } } 点击下载本文用到的导航视图的工程代码 点此查看Android开发笔记的完整目录

    2.6K40

    深入浅出 NavigationUI | MAD Skills

    在本文中,我们将为大家讲解另外一个用例,即类似操作栏 (Action Bar)、底部标签栏或者抽屉型导航栏之类的 UI 组件如何在应用中实现导航功能。...我需要在应用中增加一些页面,所以有必要使用抽屉式导航栏或者底部标签栏来辅助用户导航。但是我们该如何使用这些 UI 组件来集成导航功能呢?通过点击监听器手动触发导航动作吗? 不需要!无需任何监听器。..."支配" 菜单项了,我将 MenuItem 的 id 与之前所创建的目的页面的 id 进行了匹配。...抽屉式导航栏 虽然看上去不错,但是如果您设备的屏幕尺寸较大,那么底部标签栏恐怕无法提供最佳的用户体验。...Donut Tracker 应用并不需要底部标签栏或者抽屉式导航栏,但是添加了新的功能和目的页面后,NavigationUI 可以很大程度上帮助我们处理应用中的导航功能。

    3K30

    iOS 与 Android 的APP 设计差异

    在Android应用中被大家熟知的导航模式是抽屉和标签形式的组合。 抽屉导航其实是一个菜单,通过点击汉堡图标,然后从左侧或右侧滑出。...左侧就是抽屉导航;右侧是标签栏 在Material Design中还有一个组件叫做底部导航。这个组件对于安卓原生应用来说也非常重要。底部的菜单项很容易点击和操作。...但是安卓规范其实不建议同时使用底部导航和标签,因为它可能会在导航时引起混乱。 底部导航(Material Design) 在Apple的人机交互规范中,没有类似抽屉菜单的标准导航控件。...改造标准控件需要额外的开发时间,用户也缺乏使用经验 如果希望应用中的每个元素在各个平台上看起来都一样,那么将需要额外的开发工作来创建最佳的移动应用设计。...贴心,流畅,不突兀的页面跳转才能保证用户能轻松操作。对于这一点来说,两个平台都对动画规范都做了一些合理的建议。

    3.5K10

    【Jetpack】Navigation 导航组件 ① ( Navigation 引入 | Navigation 特点 | Navigation 重要组件 | Navigation 使用流程 )

    添加菜单项:使用 onCreateOptionsMenu() 方法创建 App Bar 中的菜单项。...处理菜单项点击事件:使用 onOptionsItemSelected() 方法处理 App Bar 中的菜单项点击事件。...二、Navigation 特点 Navigation 提供了 可视化的 页面导航图 , 与 iOS 开发中的 Xcode 环境中的 StoryBoard 类似 ; 在 布局文件 的 Design 模式下...之间的跳转关系 ; 在 Xml 布局文件中 , 通过在 Fragment 标签中 , 添加 action 标签 , 设置该标签 app:destination 属性 , 完成 Fragment 之间的导航..., 抽屉菜单 的页面及跳转逻辑 , 进行统一管理 ; 支持 DeepLink 深层链接 , 可以直接跳转到指定的 Fragment 中 ; 三、Navigation 重要组件 ---- Navigation

    93940

    Android Q 手势导航背后的故事

    在过去的三年里,移动设备领域历经几轮导航变革,各式各样的手势导航模式层出不穷 (手势的历史最早可以追溯到 2009 年!)。...在过去的一年中,我们与三星、小米、HMD Global、OPPO、一加、LG、摩托罗拉等多家合作伙伴展开密切合作,共同推进手势导航标准化方面的工作。...因此,我们的设计目标之一就是确保返回手势符合人体工程学,具备高度可靠性且直观易用,并且在安排开发工作时,适当地调低应用抽屉、最近使用等低频导航操作的优先等级,首要考虑返回手势的需求。...比如说,我们发现 3% 到 7% 的用户 (具体比例因应用而异) 通过侧滑手势打开应用导航抽屉,其余用户则选择点击汉堡形菜单按钮来弹出抽屉。...为了更好地支持手势导航,请你务必认真对待以下三方面的开发工作: 按照边到边的设计理念,真正实现应用的全屏体验 妥善处理与系统用户界面的视觉重叠部分 (例如: 导航栏) 解决与系统手势冲突的应用手势 我们最近刚发布了第一篇

    2.2K50

    Anroid Wear OS 手表应用开发 - UI

    复制代码 布局 常见的表盘有方形和圆形两种,使用普通布局的情况下,可能会出现这种情况: 为了使圆形表盘上的内容不超出边界,同时兼容方形表盘,我们可以使用 BoxInsetLayout 这个布局: android.support.wear.widget.BoxInsetLayout...> 复制代码 这样可以在保证方形表盘不受影响的情况下,圆形布局的内容,不会超过显示边界: 导航抽屉栏 为了节省宝贵的显示空间,通常手表应用是没有标题栏的,在使用 ViewPager 的时候,也没有 TabLayout...操作抽屉栏 当需要对当前页面进行一些操作的时候,但页面里又没有空间再放按钮了怎么办?既然可以从顶部下拉出导航栏,要不在底部上拉出一个操作栏?...自定义抽屉栏 导航栏 WearableNavigationDrawerView 和 操作栏 WearableActionDrawerView 用起来很简单,但是它们的样式是固定的,一个只能显示图标加标题...环形进度条 CircularProgressLayout 是一个环形的进度条,通常用它包裹一个圆形按钮: 可以用它来做防误触,用户点击按钮后,允许在进度条走完之前,点击取消操作。

    2.6K30

    Android Design Support Library初探-更新中

    tabs(选项卡) a motion and scroll framework to tie them together(将这些控件结合在一起的手势滚动框架) 官方视频简介 Navigation View 抽屉导航是...NavigationView 通过提供抽屉导航所需要的框架让实现更简单,同时它还能够直接通过菜单资源文件来直接生成导航元素。 ?...最简单的抽屉菜单就是几个可点击的菜单集合: android:checkableBehavior="single"> <item android:id="@+id/navigation_item...="@drawable/ic_android" android:title="@string/navigation_item_2"/> group> 被点击过的item会高亮显示在抽屉菜单中...,使用起setNavigationItemSelectedListener()来获取元素被选中的回调时间,它为你提供被点击的 菜单元素 ,让你可以处理选择事件,改变复选框状态,加载新内容,关闭导航菜单,

    97420

    基础篇章:关于 React Native 之 DrawerLayoutAndroid 组件的讲解

    看名字我们就知道这个组件仅限 Android 平台能用。Android 中的 DrawerLayout 就是一个抽屉导航组件,所以这个组件的功能当然也是一样的。...我们的这个抽屉导航视图一开始是看不见的,就像抽屉一样,你不拉开抽屉你看不到东西,所以导航视图可以从drawerPosition指定的窗口侧面拖拽出来,并且抽屉的宽度可以使用drawerWidth属性来指定...func 每当导航视图(抽屉)产生交互相互作用的时候调用此回调函数 onDrawerStateChanged func 每当抽屉的状态变化时调用此回调函数。...抽屉可以有3种状态: dle(空闲),表示现在导航条上没有任何正在进行的交互。 dragging(拖拽中),表示用户正在与导航条进行交互。...它将只对API 21以上的效果 DrawerLayoutAndroid 方法 openDrawer(0) 打开抽屉导航 closeDrawer(0) 关闭抽屉导航 实例演示 还是老样子,看代码前,我们先看看效果图

    2.5K70

    Material Design 实战 之第二弹——滑动菜单详解&实战

    :id属性指定菜单项的id, android:icon属性指定菜单项的图标, android...很明显,这里我们将它默认的样式(该按钮图标)和作用(改/设置了按钮点击事件)都进行了修改。...这里一共定义了5个item, 分别使用 android:id属性指定菜单项的id, android:icon属性指定菜单项的图标, android:title属性指定菜单项显示的文字。...接着调用了setNavigationItemSelectedListener()方法来设置一个菜单项选中事件的监听器,当用户点击了任意菜单项时,就会回调到onNavigationItemSelected...(R.drawable.ic_menu);//设置一个导航按钮图标 } navView.setCheckedItem(R.id.nav_call);//将Call菜单项设置为默认选中

    96230

    导航设计的10种模式

    01 底部Tab导航 描述: 当产品的整个体验流中是以几个常用功能模块(一般不超过5个)贯穿的,意味着用户需要在多个标签入口之间来回切换;为了保证切换的效率,将贯穿产品整个体验的流的模块平铺在Tab Bar...缺点: 用户不易发现,使用次功能需要二次点击,给用户在切换功能带来了操作成本; 可见性太差,用户还没能把汉堡菜单按钮和侧边栏联系起来,所以,侧边栏的渗透率很低; 不直观、不适用于主导航、如遇频繁操作的功能...07 下拉式/菜单导航 描述: 与抽屉式导航的目的相同,都是为了突出内容。...一般位于产品顶部,通过点击呼出导航菜单; 通常用来筛选同一信息模块下不同类别的信息,或者快速启动某些常用的功能模块,而不需要频繁的页面跳转 ; Android中对应的控件为spinner控件,但该控件用于同一类别下不同视图之间的切换...与宫格导航类似,常用于二级页面,不会默认展示任何实质内容,所以通常app不会在首页使用它; 无论ios开发和android 都有现成的列表布局插件和模板。 ?

    3.6K40

    Navigation的用法

    5.通过NavigationUI类,对菜单,底部导航,抽屉菜单导航进行统一的管理     6.支持深层链接DeepLink 二.Navigation的主要元素   在正式学习Navigation...5.使用NavController完成导航       经过以上的步骤后,我们还需要通过NavController对象,在代码中完成具体的页面跳转工作,我们需要在MainFragment的布局文件中添加一个...我们强烈建议您将 Safe Args 用于导航和数据传递,因为它可以确保类型安全。这是Android Studio官网的原话。...App bar中各种按钮和菜单,同样承担着页面切换的工作。例如,当ActionBar左边的返回按钮被单击时,我们需要响应该事件,返回到上一个页面。...NavigationUI.setupActionBarWithNavController(this,navController,appBarConfiguration); }   处理菜单项点击事件

    30420

    android顶部导航条

    今天给大家介绍在Android中实现顶部导航菜单左右滑动效果的二种解决方案。   ...在SlideMenuUtil类中设置导航菜单项标签,如下:   package com.slide.util;  /**  * 滑动菜单选项类  * @Description: 滑动菜单选项类...我这个示例中,是把左右导航的图片显示在文字上方,在点击上图中右三角图片时会显示下一个页面导航,具体大家可以看下面代码。    ...我使用二维数组存储导航菜单项:  private String[][] menus = {{SlideMenuUtil.ITEM_MOBILE,SlideMenuUtil.ITEM_WEB,      ...另外,还需要给这两个导航图片设置单击事件,在点击时直接显示下一页菜单或是上一页菜单:  // 右导航图片按钮事件    class ImageNextOnclickListener implements

    3.2K50

    跟我学Android之八 ActionBar与菜单

    的右端 Ø点击ActionBar的右端或设备上的“菜单”按钮弹出 Ø菜单项可以出现在ActionBar上 Ø Ø u可以在Activity的子类和Fragment的子类中定义选项菜单 Ø如果两者都定义了...,常用属性如下 Øandroid:id 定义菜单项的ID Øandroid:icon 定义菜单项的图标 Øandroid:title 定义菜单项的标题文字 Øandroid:showAsAction 定义菜单项何时显示为一个...=“all” Ø在group标签中添加item标签定义单选菜单项 l在一些低的版本中,单选菜单项不能设置icon u也可以直接为单个菜单项设置复选框 Ø设置item的属性android:checkable...ActionBar诞生于Android3.0版本 u主要用于代替原来的标题栏 u可以在标题栏上展现更多的内容和功能 Ø显示选项菜单 Ø提供标签页切换方式的导航 Ø Ø Ø提供下拉的导航条目 Ø提供交互式活动视图代替选项条目...Ø Ø Ø Ø Ø使用程序的图标作为返回Home主屏或向上的导航操作 ActionBar可以带给用户明确的动作提示和全局导航 u在需要在界面上明确提示用户动作的情况下 u在需要进行全局导航的情况下

    10510
    领券