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

从零开始的Android:常见的UI设计模式

顾名思义,您以列表格式显示数据,当单击该列表中的项目时,它将打开一个显示更多详细信息的新屏幕。 尽管此模式称为列表和详细信息,但没有理由也不能将相同的逻辑应用于网格设计。...此模式的关键特征是,列表/网格中的每个项目在被选中时都应执行显示更多详细信息的相同操作。...如果您有多个在某种程度上相关但具有不同类别的列表,那么对每个类别使用带有选项卡的ViewPager可能是导航应用程序的有效解决方案。...当您的应用程序中只有几个部分时,此模式很有用,因为它为用户提供了一种快速简便的方法来更改视图。 但是,如果要在选项卡中放入五个或更多项目,则应考虑将导航操作移到抽屉中。...根据Android的材料设计指南,选项卡也可以存在于屏幕底部,如Google+应用程序所示。 导航抽屉 导航抽屉是一个视图,可以从应用程序的侧面滑出,以便向用户显示选项列表。

2.7K20

Material Design — App bars: bottomApp bars: bottom

位置 Bottom app bars 根据 FAB 的存在及其在 bar 中的位置具有三种不同的布局。 这些布局决定了可以包含在该 bar 中的操作的数量。 1、FAB 在中间 ?...当 bar 脱离FAB时,会恢复到默认的形状。 在返回到屏幕并重新附着 FAB 后,bar 重新获得了缺口形状。 ? ---- 海拔 Bottom app bar 的海拔高度为8dp。...底部的导航抽屉从底部的应用栏打开。 抽屉在底部应用程序栏前打开,并显示顶部应用程序栏以在达到完整高度时关闭抽屉。...---- 位置 导航 Bottom app bar 可显示 navigation menu icon 以打开 bottom navigation drawer,但该 bar 本身不包含任何导航操作(例如向上导航至主屏幕或一个关闭图标...App 导航应放置在另一个组件中,例如 top app bar 或嵌入在屏幕中。 ?

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

    Chrome 102:新增两个 HTML 属性、两个 JS API !

    主要是下面两种用例: 元素是 DOM 树的一部分,但在屏幕外或隐藏; 元素是 DOM 树的一部分,但应该是非交互的。 这个属性的在切图的时候还是挺有用的。...或者,对于用户并不总是可见的抽屉,添加 inert 可确保当抽屉不在屏幕上时,键盘用户不会意外与其进行交互。...Navigation API 在很多 Web 开发的场景下,我们需要在没有网页中的导航的情况下去更新页面的 URL,特别是在 SPA 应用里面,我们在切换了导航之后,不希望刷新网页,只更新页面中的内容。...在大多数情况下,它会让你的代码覆盖浏览器对该操作的默认行为。对于 SPA,这可能意味着让用户保持在同一页面上并加载或更改网站的内容。 目前只有 Edge、Chrome 对它提供了支持。...你需要指定要打开的 URL、MIME 类型、文件类型的图标和启动类型。启动类型定义是否应在单个客户端或多个客户端中打开多个文件。

    1.9K30

    AngularDart4.0 指南 原

    示例代码 每个页面都包含页面随附的示例应用程序的代码段。 您可以在应用程序中重用这些片段。 参考页 词汇表定义Angular开发人员应该知道的术语。...获取依赖关系 在WebStorm中: 打开新项目。 在项目视图中,双击pubspec.yaml。...运行应用程序     在WebStorm中:       在项目视图中,右键单击web / index.html。       选择运行'index.html'。      ...然后,要查看您的应用程序,请使用浏览器导航到pub serve显示的URL。 重新载入应用程式 每当您更改应用程序时,请重新加载浏览器窗口。...英雄之旅让您逐步从安装到全功能的示例,演示了专业应用程序的基本特征:合理的项目结构,数据绑定,主/细节,服务,依赖注入,导航和远程 数据访问。     3. 查看整体架构图。

    2.8K20

    JavaScript 高级程序设计(第 4 版)- BOM

    # 导航与打开新窗口 window.open()可以用于导航到指定URL,也可以用于打开新浏览器窗口 接收四个参数:要加载的URL、目标窗口、特性字符串和表示新窗口在浏览器历史记录中是否代替当前加载页面的布尔值...,除了hash外,设置location的一个属性就会导致页面重新加载新URL 如果不希望增加历史记录,可以使用replace()方法,重定向后后退按钮是禁用状态 reload() 能重新加载的当前显示的页面...空参可能会从缓存加载,传参true可强制从服务器重新加载 # navigator对象 navigator 对象的属性通常用于确定浏览器的类型 检测插件 通过plugins数组来确定,数组中每一项都包含如下属性...width 屏幕像素宽度 orientation 返回 Screen Orientation API 中屏幕的朝向 # history对象 history 对象表示当前窗口首次使用以来用户的导航历史记录...history 对象还有一个 length 属性,表示历史记录中有多个条目 # 导航 go() 可以在用户历史记录中沿任何方向导航,接收一个整数参数,正值表示前进负值表示后退 go()有两个简写方法:

    1.2K10

    React Native 导航:示例教程

    移动应用程序由多个屏幕组成。在构建移动应用程序时,首要考虑的是如何处理用户在应用程序中的导航问题,例如屏幕的展示和屏幕之间的切换。...任何给定时间只有一个屏幕呈现给用户,每个屏幕在被推入堆栈时显示,即当用户导航到某个屏幕时,它就被推到堆栈的顶部。 想象一堆纸张。导航到一个新屏幕会将其放在堆栈的顶部,而导航回去则会将其从堆栈中移除。...这两个库都提供了基于堆栈的导航模型,便于在屏幕之间进行转换,将每个新屏幕放在堆栈的顶部。...createNativeStackNavigator 为我们的应用程序提供了一种在屏幕之间过渡的方式,其中每个新屏幕都位于堆栈的顶部。...该组件管理导航树并包含导航状态。 最后,运行应用程序 npx expo start 2.使用 TabNavigator 大多数移动应用程序都有一个以上的屏幕。

    45810

    Selenium面试题

    27、请编写代码片段以在WebDriver中启动Chrome浏览器? 28、编写代码片段以在WebDriver中执行右键单击元素? 29、编写代码片段以在WebDriver中执行鼠标悬停?...30、在WebDriver中如何进行拖放操作? 31、在WebDriver中刷新网页有哪些方法? 32、编写代码片段以在浏览器历史记录中前后导航? 33、怎样才能得到一个网页元素的文本?...它的优点是什么? 40、如何在WebDriver中截取屏幕截图? 41、如何使用Selenium在文本框中输入文本? 42、怎么知道一个元素是否显示在屏幕上?...“type”命令用于在软件 Web 应用程序的文本框中键入键盘键值。它也可以用于选择组合框的值,而“typeAndWait”命令在您的输入完成并且软件网页开始重新加载时使用。...此命令将等待软件应用程序页面重新加载。如果输入时没有页面重新加载事件,则必须使用简单的“type”命令。 22、findElement()和findElements()有什么区别?

    8.6K12

    Android 10 终于来了!增加了不少新特性

    Android 10 中,它已经内置到整个通知系统中,并且不仅提供对信息的回复建议,还可以获得建议的操作。...手势导航 引入手势导航后,应用程序不仅可以实现全屏幕的内容显示,还能最大限度地减少系统导航键的可见程度,这对于当下主流的全面屏手机尤为重要。...另外,团队还为包含导航抽屉(Navigation Drawer)的应用增加了一个名为 peek 的动作:用户轻压屏幕边缘然后再向内划动,便可拉出应用抽屉页面。...Security Updates 随着这一新功能发布,通过 Google Play Store,安全补丁将自动推送到手机更新应用,更新将在后台运行,并在下次重新启动设备时加载,而不必等待完整的操作系统更新...看着像毛毛虫 [ ] [image] 总结 Android 10.0将包含多项功能升级,包括手势导航、通知栏管理、全局黑暗模式等等。

    1.3K40

    如何将 Stackdriver 连接到智能家居服务器以进行错误记录

    可能来自堆栈驱动程序的错误报告消息的屏幕截图 你收到的日志会自动清除并移除任何个人可识别信息(PII),而且不会包含详细的追踪。...启动时,你可以导航到项目的 Google Cloud 控制台,在抽屉导航的 Stackdriver 部分中选择 Logging 选项: ?...尽管很方便,但必须转到单独的页面去查看错误可能不适合你的开发流,而且它可能不会为你提供易于访问的数据,例如,包含在每周统计报表中的数据。...让我们看看如何将你的日志从 Stackdriver 导出到你的基础设施中,让你在这些数据之上构建额外的集成。 使用 Stackdriver,你可以设置包含带有特定过滤器的日志接收装置。...在这里,你可以创建一个连接到 Google Cloud 发布/订阅的主题接收器。这将是你能够在每次出现日志条目时处理事件: ? 在抽屉导航中,打开发布/订阅概述,创建一个新的订阅: ?

    1.9K30

    开始使用-编写你的第一个Flutter应用程序 顶

    如何实现有状态的小部件。 如何创建一个无限的,延迟加载的列表。 如何创建并导航到第二个屏幕。 如何使用主题更改应用程序的外观。...每次单击热重新加载或保存项目时,都会在正在运行的应用程序中随机选择不同的单词对。...如果您的应用程序运行不正常,则可以使用以下链接中的代码重新进入正轨。 lib/main.dart 第6步:导航到新的屏幕 在这一步中,您将添加一个显示收藏夹的新屏幕(在Flutter中称为路由)。...您将学习如何在主路由和新路由之间导航。 在Flutter中,导航器管理包含应用程序路由的堆栈。 将路由推入导航器的堆栈,将显示更新为该路由。 从导航器的堆栈中弹出路由,将显示返回到前一个路由。...1.向RandomWordsState的构建方法中的AppBar添加列表图标。 当用户点击列表图标时,包含收藏夹项目的新路线被推送到导航器,显示该图标。

    9.5K20

    14个UI精美功能强大的Android应用设计模板

    AMP Material是一个Google AMP网站模板,旨在让网页加载更快,并在Google移动搜索结果中排名更高。 Google AMP页面会在搜索结果中显示闪电图标,并在点按时立即加载。...Fitness Trac是一款用于健康管理和安排作息时间的应用程序。在这款应用中,用户可以根据时间节点制定每个阶段的运动目标,包括运动时间、卡路里消耗等,且配有详细的定期的数据总结表。...这款应用采用了典型的大图配文字的排版模式,图片占比大。模板包括40多个图标和13个屏幕,如登录、注册页面、主页、类别列表等。...此应用 地图集成在许多页面中,可在两个点(原点位置和目的地)之间绘制一条路线。此模板每个XML和JAVA文件中的点都包含注释,以便于理解。...功能: 登录页面 注册页面 搜索过滤器 导航抽屉 驾驶室详细信息页面 最近的旅行 个人资料页 搜索页面 付款页面 旅行和汽车细节页面 下载模板 14.

    4.2K10

    UI Browser Mac (Apple辅助功能和GUI脚本助手)

    UI浏览器是用户界面导航器您可以探索大多数macOS应用程序的几乎每个窗口,菜单,按钮和其他UI元素。...您可以在熟悉的macOS浏览器视图中一目了然,所有这些视图均位于应用程序的包含层次结构中,可轻松浏览窗口,工作表,抽屉,对话框和其他视图。...UI浏览器甚至可以在屏幕上突出显示所选的UI元素以帮助您识别它,并在使用目标应用程序时关注当前焦点。您还可以在UI浏览器的“属性”抽屉中看到目标应用程序中任何UI元素的数十个属性。...UI浏览器是用户界面观察者您可以告诉UI Browser 在其用户界面中发生任何更改时监视 macOS应用程序广播的通知-无论是由于用户单击了目标应用程序中的控件,选择了菜单项还是键入了一些字符,都是因为...您还可以执行目标应用程序的UI元素支持的所有操作,例如单击其菜单项和按钮并确认文本字段条目。

    1.4K20

    2023 最新最全 VSCode 插件推荐!

    Vue 3 Snippets 这个插件包含了所有的 Vue.js 2 和 Vue.js 3 的 api 对应的代码片段。...Git 集成 GitLens 该插件增强了 VS Code 中的 Git,并从每个存储库中释放隐藏数据。...数据分析 Import Cost 在项目中导入多个包时可能会出现性能问题,Import Cost 就用于查看将特定库导入项目的成本。...当输入自定义组件的开始标签时,它会自动添加结束标签。 CSS Peek 使用该插件,可以直接从 HTML 和 JavaScript 文件快速导航和编辑外部样式表中定义的 CSS 样式。...屏幕截图可以用文本或形状进行注释,并通过链接共享或包含在网站或文档中。只需使用 ctrl + shift + P 并输入 CodeSnap,然后按回车键,CodeSnap 窗口就会打开。

    3K30

    深入浅出 NavigationUI | MAD Skills

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

    3K30

    Qml开发中的性能Tips(翻译文)

    这样,大图像不会占用超过必要的内存; 这对于从外部源加载或由用户提供的内容尤为重要。 请注意,动态更改此属性会导致重新加载图像源,甚至可能来自网络,如果它不在内存缓存中。...如果您确实需要启用Image的smooth属性,请在动画开始时禁用平滑处理,并在动画结束时重新启用它(仅当图像在屏幕上静止时,缩放瑕疵才可见)。...将应用程序划分为几个QML文件,以便每个文件包含一个逻辑UI实体。这种装卸方式更容易控制。每个应用程序不应该写一个巨大代码量的QML文件。...您应该只根据需要加载UI片段,例如当用户导航到另一个视图时,但是另一方面,在视图之间导航(切换)可能需要更多的时间。...4.1 在过渡动画中尽可能为屏幕的小区域设置动画 如果您需要在一秒钟内移动3个元素,请尝试每次移动300毫秒。该系统可以计算需要重新绘制的项的边界,并在这些边界内绘制所有内容。

    5K32

    导航设计的10种模式

    01 底部Tab导航 描述: 当产品的整个体验流中是以几个常用功能模块(一般不超过5个)贯穿的,意味着用户需要在多个标签入口之间来回切换;为了保证切换的效率,将贯穿产品整个体验的流的模块平铺在Tab Bar...实际项目中,顶部与底部配合使用的挺多。 ?...缺点: 每个宫格相互独立,它们的信息间也没有任何交集,无法跳转互通; 当排布过多的时候,用户容易眼花缭乱,选择压力较大; ?...优点: 菜单与界面的连贯性比抽屉式要好,容易让用户感知当前位置; 缺点: 位于屏幕上方,相对隐蔽且不能结合手势操作,不适合于频繁的切换功能使用; 考虑到导航菜单的可用面积较小,所以一般采用列表的形式展示菜单内容...每种导航都有其存在的意义,无所谓对错,只有合适与否。真正在实际项目中,还是得根据产品的实际情况综合去运用。

    3.6K40
    领券