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

TAB导航与侧边抽屉导航的巅峰对决

我们尝试下把他们收到侧边栏里,或者叫安卓团队给它的名字“侧边抽屉导航”。...举个例子,上图左边的方案,如果你没有看到引导,你可能真的找不到导航在哪里。如果找到了一次,你会在每次回来zeebox的时候都记得侧导航的入口吗?即使你记住了,每次切换栏目还是会需要点击两次。...但从另外一个角度来说,没有那一排tab导航,让设计看上去干净多了,把导航放进侧边抽屉里,让主内容区域有了更大的空间余地。 侧边抽屉导航这种设计模式兴起于18个月前。...而后,友好而乐于提供指导的Google Play团队建议侧边栏抽屉式导航(navigation drawers)作为一种新的导航方式用于安卓应用。 所以6个月后,我们决定冒险尝试改为侧边栏导航。...抽屉导航和tab导航对用户使用频率的影响 周使用频率在下降(对比明显),日使用频率在下降,用户在应用中花费的时间在下降。侧边栏导航在第一轮测试中看起来像个灾难。

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

    Android自带抽屉布局及NavigationView的使用

    在新版本的android sdk中,谷歌为开发者们带来了很多好用的东西,比如原生抽屉布局,下拉刷新等等,对很不乐意去网上找各种各样乱七八糟的第三方控件的某人真是挺不错的-。...问题引起其实非常简单,是因为在activity刚创建的时候,Dawer其实是没有打开的,所以布局没有初始化,自然也不能找到其中的空间。...我们首先了解一下NavigationView的使用,新建一个抽屉活动后,我们可以看到主界面的布局文件是这样的 其实这里的NavigationView就是左边抽屉拉出来后的布局了~可以看到它有两个属性app:headerLayout和app:menu 其实这两个属性后面就分别是上图中蓝色背景部分的抽屉头和下面的菜单.../reference/android/support/design/widget/NavigationView.html image.png 这些方法都是对抽屉布局上的菜单和头布局进行操作时可以使用的

    1.3K20

    Project Mainline in Android 的碎片化管理

    Android 的碎片化问题一直是业界的诟病。 Google已经做了很多尝试来解决这个问题。比如Project Treble旨在帮助制造芯片制造商,快速的更新软件,并且获得了巨大的成功。...如 Android Pie的更新率是Android Oreo的2.5倍,并且安全补丁程序更新增加了84%。...Mainline把Android的12个核心组件,模块化。这些模块可以单独更新。...更新直接来自Google是有意义的,但是以前从来没有办法做到。(但是 也可以看做是google加强了对andorid 的控制,以后手机厂商怎么活。...然后,手机在仅扫描应用程序完整性的情况下,将其复制到手机存储中的正确位置,将正确的文件和数据从APEX移动到手机的实际系统,最后将APEX卸载。这就解决一直困扰Android碎片化问题的新颖方法。

    1K10

    Android Q 手势导航背后的故事

    尤其是对开发者而言,碎片化 (即不同的 Android 设备具备不同的手势) 才是最棘手的问题。...因此,我们的设计目标之一就是确保返回手势符合人体工程学,具备高度可靠性且直观易用,并且在安排开发工作时,适当地调低应用抽屉、最近使用等低频导航操作的优先等级,首要考虑返回手势的需求。...比如说,我们发现 3% 到 7% 的用户 (具体比例因应用而异) 通过侧滑手势打开应用导航抽屉,其余用户则选择点击汉堡形菜单按钮来弹出抽屉。...改变用户的导航习惯并不是我们的目标,因此,我们尝试了许多方法来帮助用户区分抽屉手势和返回手势,不过结果并不乐观,用户试着通过侧滑触发返回操作,但是仍旧拖曳出了抽屉界面,致使用户对返回操作的信任度下降。...除了应用抽屉以外,适应时间也是一大问题: 用户平均需要 1 到 3 天才能适应手势导航,特别是,用户有些难以应付像左滑或者右滑跑马灯控件时却触发返回这样的情况。

    2.2K50

    Android碎片化布局fragment的实战应用

    前言 Fragment其实可以理解为一个具有自己生命周期的控件,只不过这个控件又有点特殊,它有自己的处理输入事件的能力,有自己的生命周期,又必须依赖于Activity,能互相通信和托管。...Fragment可以像普通对象那样自由的创建和控制,传递参数更加容易和方便,也不用处理系统相关的事情,显示方式、替换、不管是整体还是部分,都可以做到相应的更改。...Fragments是view controllers,它们包含可测试的,解耦的业务逻辑块,由于Fragments是构建在views之上的,而views很容易实现动画效果,因此Fragments在屏幕切换时具有更好的控制...视频效果 这次我们就上传的e码通的登陆界面,通过切换登陆方式直接切换对应的界面,账号登陆和手势登陆 ? 代码演示 我们的e码通项目,因为项目里的文件较多,所以我这里这截取重点。...上面先定义了我们的账号登陆和手势登陆的Fragment,然后用一个CreateFrag来创建表头和表体碎片。 ? 然后定义一个Logintype为整型,用于区分当前的是账号登陆还是手势登陆。

    90210

    2014-11-8Android学习------Android抽屉效果的实现案例--------动画Animation学习篇

    我学习Android都是结合源代码去学习,这样比较直观,非常清楚的看清效果,觉得很好,今天的学习源码是网上找的源码 百度搜就知道很多下载的地方 网上源码的名字叫:android抽屉效果.zip 我的博客写的比较乱...肯定是当前包含有抽屉的视图被用户打开了,也就是可见了,就叫准备好了,也即是你只有看到抽屉的时候,你才可以去打开它,如果你没有看到它,还谈打开吗?...android:id="@id/panelHandle" 代表点击抽屉的那个按钮,也即是像真实 的抽屉那个环扣 2....android:id="@id/panelContent" 代表抽屉那个方框,也即是像真实的抽屉里面很大的面积的矩形,里面可以放很多东西 那么我们看看效果图上显示的这两个控件是什么呢...,强调的是没有松开或者拖动的状态 */ public void onShowPress(MotionEvent e) { // not used } // 用户(轻触触摸屏后

    1.5K20

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

    看名字我们就知道这个组件仅限 Android 平台能用。Android 中的 DrawerLayout 就是一个抽屉导航组件,所以这个组件的功能当然也是一样的。...我们的这个抽屉导航视图一开始是看不见的,就像抽屉一样,你不拉开抽屉你看不到东西,所以导航视图可以从drawerPosition指定的窗口侧面拖拽出来,并且抽屉的宽度可以使用drawerWidth属性来指定...DrawerLayoutAndroid 属性 drawerBackgroundColor color 设置抽屉导航的背景色。默认值是白色。如果你想设置抽屉的透明度,使用RGBA。...func 每当导航视图(抽屉)产生交互相互作用的时候调用此回调函数 onDrawerStateChanged func 每当抽屉的状态变化时调用此回调函数。...抽屉可以有3种状态: dle(空闲),表示现在导航条上没有任何正在进行的交互。 dragging(拖拽中),表示用户正在与导航条进行交互。

    2.5K70

    Android Studio 4.1 的 Dagger 导航更新

    的关联代码间进行导航,包括依赖项的生产者、消费者、组件、子组件以及模块。...在 Android Studio 4.2 中加入了更多针对 Hilt 的支持,除了上述列出的 Dagger 功能之外,您还可以更便捷使用入口点 (entry points) 导航功能。...在 Android Studio 中新增的 Dagger 导航支持  正如您所看到的,在 Android 应用中 Dagger 关系的导航从未如此简单。...实践 在 Android Studio 4.1 Canary 7 之后,您可以在使用 Dagger 的项目中看到一个新的间距图标: Android Studio 中新的 Dagger 间距图标 它们的点击效果是...在入口点可以导航到依赖的来源 Find Usages 功能 在 Android Studio 中可以使用 Find usage 功能找到您 Dagger/ Hilt 代码之间的关系。

    79430

    深入浅出 NavigationUI | MAD Skills

    在本文中,我们将为大家讲解另外一个用例,即类似操作栏 (Action Bar)、底部标签栏或者抽屉型导航栏之类的 UI 组件如何在应用中实现导航功能。...setupWithNavController(navController) } 请注意我并没有从导航图中调用任何导航操作。实际上导航图中甚至没有前往 coffeeList Fragment 的路径。...抽屉式导航栏 虽然看上去不错,但是如果您设备的屏幕尺寸较大,那么底部标签栏恐怕无法提供最佳的用户体验。...setupWithNavController(navController) } 现在当我在屏幕较宽的设备上运行应用时,可以看到抽屉式导航栏已经设置了 MenuItem,并且在导航图中,MenuItem...Donut Tracker 应用并不需要底部标签栏或者抽屉式导航栏,但是添加了新的功能和目的页面后,NavigationUI 可以很大程度上帮助我们处理应用中的导航功能。

    3K30

    Anroid Wear OS 手表应用开发 - UI

    > 复制代码 这样可以在保证方形表盘不受影响的情况下,圆形布局的内容,不会超过显示边界: 导航抽屉栏 为了节省宝贵的显示空间,通常手表应用是没有标题栏的,在使用 ViewPager 的时候,也没有 TabLayout...导航栏 WearableNavigationDrawerView 就是用来解决这个问题的,我们先看看它的效果: 从手表顶部向下滑,会出现一个导航栏,显示当前页面的图标和标题。...操作抽屉栏 当需要对当前页面进行一些操作的时候,但页面里又没有空间再放按钮了怎么办?既然可以从顶部下拉出导航栏,要不在底部上拉出一个操作栏?...自定义抽屉栏 导航栏 WearableNavigationDrawerView 和 操作栏 WearableActionDrawerView 用起来很简单,但是它们的样式是固定的,一个只能显示图标加标题...它包裹了抽屉栏的主视图 drawer_content 和关闭时露出部分的视图 peek_view。

    2.6K30

    Android开发之DrawerLayout实现抽屉效果

    使用注意点 1、DrawerLayout的第一个子元素必须是默认内容,即抽屉没有打开时显示的布局(如FrameLayout),后面紧跟的子元素是抽屉内容,即抽屉布局(如ListView)。...2、抽屉菜单的摆放和布局通过android:layout_gravity属性来控制,可选值为left、right或start、end。 3、抽屉菜单的宽度为 dp 单位而高度和父View一样。...抽屉菜单的宽度应该不超过320dp,这样用户可以在菜单打开的时候看到部分内容界面。...解决办法:在include进的那个布局里面,添加clickable=true 2、除了抽屉的布局视图之外的视图究竟放哪里 左、右抽屉和中间内容视图默认是不显示的,其他布局视图都会直接显示出来,但是需要将其放在..." //导航的顶部视图 app:menu="@menu/menu_drawer_left" /> //导航的底部菜单 android.support.v4.widget.DrawerLayout

    7.2K60

    关于Android导航页开发的体会

    大家好,又见面了,我是你们的朋友全栈君。...2019独角兽企业重金招聘Python工程师标准>>> 最近尝试做一个有社交网络服务和IM服务的项目,想使用比较流行的方式实现程序的导航,一开始 借鉴了网上的DrawerLayout加ViewPager...的模式,但始终觉得界面不够直观,于是改变想法,采用 了底部大类导航栏加顶端Tab小类导航加ViewPager的导航模式,有点像微信的导航模式(某种程度上来 说有完全不像,笑),主要涉及到ViewPager...,Fragment,FragmentPagerAdapter,由于网上例子 很多,主要写一些体会 程序界面: 大类实现(我把底端的导航称为大类) 采用一组RadioGroup,在onCheckedChanged...方法中给出Fragment的切换规则 使用selector为RadioButton设置触发时的响应 Fragment内容填充的一个FrameLayout布局中(注意设置layout_weight

    26620

    Deepmind:让AI学会在没有地图的城市中导航

    为了学习在没有地图的城市中进行导航,我们提供了一个交互式导航环境,该环境使用来自Google街景视图的第一人称视角照片,并游戏化该环境以训练AI。...请注意,这项研究是关于一般导航而非驾驶,我们没有使用交通信息,也没有尝试对车辆控制进行建模。 ? 我们的智能体在多种环境中进行导航,无需访问环境的地图。...注意,智能体只能看到目标位置的经纬度坐标,看不到地图。 在不建立地图的情况下学会导航 我们没有利用精确绘图和探测的传统方法。...,3.产生智能体行为导航策略的场景不变的RNN。...研究导航是研究和开发人工智能的基础,而且尝试在人工智能体中复制导航也可以帮助科学家了解其生物性基础。

    91270

    Android Design Support Library初探-更新中

    ) 官方视频简介 Navigation View 抽屉导航是app识别度与内部导航的关键,保持这里设计上的一致对app的可用性至关重要,尤其是对第一次使用的用户。...NavigationView 通过提供抽屉导航所需要的框架让实现更简单,同时它还能够直接通过菜单资源文件来直接生成导航元素。 ?....widget.DrawerLayout> 你会注意到NavigationView的两个属性: app:headerLayout :控制头部的布局(可选) app:menu:导航菜单的资源文件(必选),...最简单的抽屉菜单就是几个可点击的菜单集合: android:checkableBehavior="single"> <item android:id="@+id/navigation_item...="@drawable/ic_android" android:title="@string/navigation_item_2"/> group> 被点击过的item会高亮显示在抽屉菜单中

    97420

    iOS 与 Android 的APP 设计差异

    全局导航栏(Android) 对比Apple,设计方法却截然不同。 iOS没有全局导航栏,因此我们不能指望像Android原生控件那样能支持全局返回。...在Android应用中被大家熟知的导航模式是抽屉和标签形式的组合。 抽屉导航其实是一个菜单,通过点击汉堡图标,然后从左侧或右侧滑出。...左侧就是抽屉导航;右侧是标签栏 在Material Design中还有一个组件叫做底部导航。这个组件对于安卓原生应用来说也非常重要。底部的菜单项很容易点击和操作。...但是安卓规范其实不建议同时使用底部导航和标签,因为它可能会在导航时引起混乱。 底部导航(Material Design) 在Apple的人机交互规范中,没有类似抽屉菜单的标准导航控件。...两者之间存在一些客观差异,例如Android中有全局导航栏而在iOS中却没有,以及两者在视觉上的差异。 Apple认为,常用导航入口应该尽可能的外置,一些用户不常用的功能才需要被放进汉堡菜单中。

    3.5K10

    导航组件概览 | MAD Skills

    导航组件介绍 导航组件包括了相关 API 和 Android Studio 中的设计工具,其大大简化了您应用中导航流程的创建和编辑。以前没有导航组件的时候,应用中的导航任务是由我们手动编码实现的。...我们可以用导航工具来定义新的目的地,当我们还没有准备好目的地的 Fragment 类的时候,我们可以用占位符,也可以使用已存在的 Fragment 类。...利用 Navigation Drawer Activity 模板创建的应用 和之前我们使用 Basic Activity 模板创建的应用不同,这个应用没有可以点击并导航到下一个目的地的按钮。...这一次,导航是由抽屉式导航栏中的菜单项触发的 当用户点击 DrawerLayout 中的菜单项时,应用会导航至和那些菜单项关联的目的地。...应用展示了 NavigationView (抽屉式导航栏) 覆盖在 activity 内容上方 接下来是 NavigationView,它是一个从左边划入的抽屉式导航栏。

    1.7K30

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

    在这篇文章里,我分享一个用 Jetpack Compose、Material3和 Kotlin语言开发NimDrawaerMenuApp的案例。无论你有没有开发经验,相信这篇文章对你会非常有所帮助。...二、项目开发 2.1 配置项目依赖 plugins { id("com.android.application") id("org.jetbrains.kotlin.android")...(3) 适用场景: • 比如一个购物应用中的导航栏,当用户点击左上角的菜单按钮时,抽屉滑出,显示购物车、收藏夹、账户信息等。 二....用户可以直接通过滑动关闭这个抽屉,而不是必须点击关闭按钮。 • 这为用户提供了更流畅的体验。...(2) 解释: • PermanentDrawerSheet 与前两种抽屉不同,它是固定在界面左侧的,用户无法将它关闭。它适合那些需要一直显示导航的场景,比如电子邮件客户端或者文件管理器。

    56350
    领券