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

如何在2021年编写网络应用程序?

您可以继续学习,但是了解“为什么要这样做”比“在做什么”更为重要。一个很好建议是,尝试在本教程中与我一起执行相同步骤。然后,尝试更改一些越来越大东西。...但是,这是从小就喜欢方法(出于我将要讲到原因),也是最能详细解释方法。 从这里开始,假设您对Java和Vue有基本了解。也不会详细介绍如何安装Node.js以及如何使用NPM。...也许我会在下一个中详细介绍。 总是使用Eslint来检查代码中潜在错误。...这样,我们可以将更多精力放在内容,而不是如何正确设计日期选择器。 由于使用Vue,因此选择了Vue兼容库Vuetify。...npm install vuetify 只需很少更改即可激活index.js。

10.9K20

为任意屏幕尺寸构建 Android 界面

Trackr 开发曾是为了展示如何在 Android 中支持无障碍功能体验最佳实践,随着最近针对大屏幕更新,无疑是一个很好示例。...通过这种方式更新应用导航,无论屏幕尺寸如何都能够拥有相同导航图,这意味着调整屏幕尺寸不会产生导航变化,从而让用户感到困惑。...JetNews 主界面展示了一长串滚动文章,在针对大屏幕进行优化之前,界面如下图所示,可以发现,并没有很好地利用额外屏幕空间。...△ JetNews 侧边抽屉导航栏展示 回到 JetNews,我们可以看到在大屏状态下,侧边抽屉导航栏会以模态方式出现,但它会延伸到整个屏幕而出现大量空白区域。...新 Compose 和大屏幕指南——构建自适应布局,希望能够对您开发有所帮助。 测试和维护 现在您已了解如何轻松更新应用,来构建可调整尺寸新界面。如何测试和维护项目也是一个非常重要课题。

4.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

可折叠设备、平板设备和大屏设备更新一览

本文将带您了解应该如何大屏幕设备做好准备,以及我们最近更新将会如何简化应用开发流程。...但首先,让我们来谈谈大屏幕本身,以及为什么您应该为大屏幕专门优化您应用。...NavRail 垂直导航栏 在功能上等同于底部导航,并在大屏幕提供了更符合人体工程学导航体验。当您扩展用户界面到大屏幕时,使用 NavRail 会更利于手指点击,因为用户通常会握住大屏幕两边。...为了防止这种情况出现,我们为某些经常发生这种情况 Material 组件添加了默认最大宽度值,包括: Buttons (按钮) TextFields (文本框) Sheets (表单) 我们未来会将更多组件添加至上述列表中...浏览器为大屏幕改进标签页导航; YouTube 重新设计了用户界面,以提高在可折叠设备可用性; Google Photos 在大屏幕上会显示更多界面元素,如搜索栏; Google Calendar

2K20

Android Q 手势导航背后故事

如果您想获取更多相关技术细节,掌握变更支持方面的知识,请阅读由 Chris Banes 撰写《实现边到边全屏体验》系列专栏。 为什么需要手势导航?...,用户很容易发生误触事件) 手势导航有助于提供沉浸度更高应用体验: 大屏窄边已成为当下主流硬件趋势,而手势导航能够最大限度减少系统在应用内容之上绘制视觉元素 (例如: 主屏/返回键和底部导航栏),从而为用户创造更具沉浸感体验...我们从最基本研究开始,了解用户如何持握手机,典型触控范围有多大,以及用户最常用设备部分。在此基础,我们建立了许多原型,并对其进行了全面的测试,测试项目包括合意性、使用速度、人体工程学等等。...我们之所以推出手势导航,主要是为了在 Android 实现标准化用户体验。...我们会在该系列最后一篇连载中介绍一些常见用例,以及应用应该如何支持这些用例,敬请期待!

2.1K50

android侧滑菜单控件DrawerLayout使用方法详解

同时在DrawerLayout内部添加两个view: 添加一个View,包含应用主内容(当抽屉隐藏时你主要布局); 添加另一个View包含了导航抽屉; 如下面例子所示:该布局使用了DrawerLayout...包含了两个子节点:一个FrameLayout包含了主要内容(在运行时将会被Fragment替换) 和 一个ListView作为导航抽屉,上面titlebar 上图标,负责打开、关闭抽屉; <?...为了满足从右到左约定,声明值为”start” 代替 “left”(因此这个抽屉会在右面呈现当布局是RTL时) 在导航View声明时:宽度用dp为单位、高度匹配父View。...为了保证用户无论怎样都能看到主内容一部分,导航抽屉宽度不能超过320dp 初始化Drawer List 在你Activity中,要做第一件事是初始化导航抽屉列表项。...当用户选择了抽屉列表里面的一个Item时, 系统调用onItemClickListeneronItemClick(), 给setOnItemClickListener().

2.2K10

导航组件概览 | MAD Skills

操作 (action) 定义了可能导航,但其不指定导航发生时间,该逻辑存在于您代码中。...我们会在之后视频中介绍更多关于这些属性内容,您也可以从 导航文档 - Navigation 组件使用入门 中了解更多关于它们信息。...其实我们本可以查看整个应用层次结构 (而且也十分鼓励大家这么做,这有助于可视化标准视图层级中所发生事),但是只想选择几个特定视图来解释。...导航部件 我们已经在层级结构中查看了几个 UI 组件,以及它们彼此之间是如何关联,接下来想介绍一下几个重要部件,导航组件正是利用它们来在目的地之间实现导航。...大部分导航相关图像更新发生在 NavHostFragment 内部,但是系统中仍然存在其他需要更新且不在容器内部件,比如我们上面看到抽屉导航栏,以及类似 tab bar 元素 (该组件可以被用来展示当前目的地信息

1.6K30

深入浅出 NavigationUI | MAD Skills

在本文中,我们将为大家讲解另外一个用例,即类似操作栏 (Action Bar)、底部标签栏或者抽屉导航栏之类 UI 组件如何在应用中实现导航功能。...需要在应用中增加一些页面,所以有必要使用抽屉导航栏或者底部标签栏来辅助用户导航。但是我们该如何使用这些 UI 组件来集成导航功能呢?通过点击监听器手动触发导航动作吗? 不需要!无需任何监听器。...setupWithNavController(navController) } 请注意并没有从导航图中调用任何导航操作。实际导航图中甚至没有前往 coffeeList Fragment 路径。...对于 MenuItem,添加了 selectionFragment 作为目的页面。...setupWithNavController(navController) } 现在当我在屏幕较宽设备运行应用时,可以看到抽屉导航栏已经设置了 MenuItem,并且在导航图中,MenuItem

3K30

iOS 与 Android APP 设计差异

本文将聚焦于iOS和Android交互设计模式之间区别,阐明iOS和Android应用看起来不同原因,以及它们为什么应该这样做。...Android设备底部有一个全局导航栏, 使用导航栏中后退按钮是返回上一个界面或步骤简便方法,适用于所有Android应用。...在Android应用中被大家熟知导航模式是抽屉和标签形式组合。 抽屉导航其实是一个菜单,通过点击汉堡图标,然后从左侧或右侧滑出。...但是安卓规范其实不建议同时使用底部导航和标签,因为它可能会在导航时引起混乱。 底部导航(Material Design) 在Apple的人机交互规范中,没有类似抽屉菜单标准导航控件。...当界面发生变化时,动画建立了过渡前后连续性。导航切换是界面中非常重要元素。它们通过清晰结构来帮助用户找准自己方向。

3.2K10

折叠屏应用设计规范,了解一下?

本文将重点讨论 View 系统中适配,如需了解更多有关如何利用 Compose 构建大屏幕应用信息,请参阅文章《为任意屏幕尺寸构建 Android 界面》。...深入理解布局 深入理解布局指南 介绍了布局容器相关概念,提供了一个整体框架,可帮助开发者思考如何在屏幕上排列导航栏、工具栏和内容等界面元素。...△ 组合指南中涉及部分布局方式 以 Fortnightly 示例应用为例,它在平板电脑界面布局十分均衡,这得益于遵从了指南里对容器建议。...遵循 Material 指南,我们可以根据宽度尺寸类别提供替代布局,将导航调整到最方便使用位置。例如,小屏幕采用底部导航视图,中等屏幕采用 Navigation rail,大屏幕采用完整导航视图。...我们有许多可选方案,比如使用屏幕尾侧侧边抽屉导航栏,或者使用上滑式底部动作条,或者使用选项菜单,甚至可以将内容完全隐藏起来。

4.3K20

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

举个例子,上图左边方案,如果你没有看到引导,你可能真的找不到导航在哪里。如果找到了一次,你会在每次回来zeebox时候都记得侧导航入口吗?即使你记住了,每次切换栏目还是会需要点击两次。...6个月后,zeebox经历了不少改变,我们有了一个新TV”页面,内容内容更丰富,包括了订阅和广告,是对于用户来说很重要一个页面。...最喜欢A/B test工具和方法 我们使用Flinto来制作高保真的可点击原型,让设计看起来像是一个真实应用,并且,使用者可以在很短时间内就完成。...而在安卓,他们又是怎么处理呢。在安卓设备显示是下图左一方案(通过二级tab切换不同页面),在同事手机上显示是右一方案,通过(侧导航切换不同页面)。...facebook一定也在使用A/B test测试用户对抽屉导航和tab不同反应,很期待facebook对这一测试最终结果。 ?

2.7K70

实践 | 为 Trackr app 适配大屏幕设备

近期我们为适配了大屏幕设备,所以不妨一起看看怎样在应用中使用 Material Design 和响应式范式,让应用在大屏幕设备提供更精致、更直观用户体验。...在大屏幕设备,弹出菜单是一个小触控区域,处于不太方便操作位置。并且底部应用栏也被过度拉伸了。 △ 左侧: 手机上导航展示。右侧: 平板导航展示。...△ 在大屏幕导航轨道 虽然是考虑到较大屏幕设备而进行此项更改,但由于腾出了更多纵向空间来显示任务列表,横向模式显示手机也能够因此受益。...在大屏幕,UI 元素要么被拉伸,要么挤在一边,导致屏幕内容显得很不平衡。 △ 在手机上这样显示很自然,但在大屏幕空间利用率却不太理想。...我们展示了通过添加导航轨道和使用 SlidingPaneLayout,是如何让 Trackr 应用不仅看起来更好,同时还显著改善了可用性和创造了在手机上无法感受体验

1.7K20

FAQ | 为大屏幕设备构建应用常见问题解答

近期,我们发布了一系列关于在折叠设备和大屏幕设备构建应用文章: 折叠屏应用设计规范,了解一下?...简而言之,在大屏幕使用该产品是最理想使用场景。...MAD Skills 系列之导航组件系列文章 支持不同屏幕尺寸 问: 对开发者而言,如何用最简单方法在各种尺寸屏幕优化应用界面?...答: 从设计角度来讲,我们建议将底部导航组件更换为 Navigation Rail,具有和底部导航组件类似的功能,内含多个主要 导航目的地。...提及折叠形态,需要注意组件过渡,将会在更大设备更大屏使用各种组件,尤其是在桌面模式,需要特别注意界面,例如,在该模式下,关键操作或大多数操作是在底部屏幕完成,而大多数内容组件实际上会放在另一个屏幕

3.5K10

十六年全栈开发者 Android 开发踩坑实录

内部 API 版本控制 当我还在主攻 web 开发时,一直都搞不太明白为什么有人会想这么做。在更新前端代码后,为什么还要留着旧版本 API?怎么想都是无用浪费。...离线优先功能在项目后期可能会更难实现,难易度取决于 app 数据复杂程度。所以还请尽快决定 app 是否需要。我们至今还在研究要如何在我们“高龄”app 中更好地实现这项功能........这些也不过是这款基于 Activity app 中四个 fragment。导航抽屉则是另一种常见导航形式,主要服务对象是 Activity 对接 Activity 形式导航需求。...底部导航因为 app 底边栏一直都是可见状态,所以设计对象是 fragment 式导航。...结果很悲惨,过量 bug 直接导致软件崩溃,浪费了一个月时间。如果我们只有五六个 Activity,那么解决起来可能还不算太难,但事实我们 app 足足有三十多个 Activity!

1K40

Android 与 Chrome OS 中针对大屏幕设备更新

全新任务栏简化了应用之间快捷切换方式,并且可以轻松返回主屏幕。 导航按钮 △ 三按钮导航相较之前更易访问 在屏幕较大设备,任务栏可以很方便地将应用转为分屏模式或者多窗口模式。...使应用能够在尺寸完全可变是非常重要,我们会大篇幅来讨论这个主题。 那么如何确定 Activity 尺寸呢?...例如,您可以通过独立 Activity 显示这些列表和详细信息,不过您可能希望在大屏幕显示这些内容。虽然建议您以单一 Activity 方式重构应用,不过能理解,这么做成本非常高。...有时应用会在主页显示顶级导航列表,用户做出选择前没有辅助内容可显示。然而,为了充分利用可用空间,也出于一致性考虑,应该在应用开启后立刻显示分块,此时辅助内容大部分留空。...如需更深入了解,请移步至我们在 Android 开发者峰会 推出更多关于大屏幕主题技术分享,了解如何使布局更加美观、契合度更高,同时可以正确处理输入。

2.3K40

彻底搞懂HashMap(

一、彻底搞懂HashMap() 文章概述: 相信很多朋友对于HashMap,开发中我们几乎每天都要使用它,但是每当问到map一些原理时,很多朋友就不知道如何去回答,甚至一问三不知,从而离我们心仪offer...10个抽屉里边去,当然这个顺序我们是随机放,现在苹果已经放进去了,假设我们想找6号苹果,我们就得打开一个一个抽屉,去看抽屉里边苹果是不是编号6 ,这样做很有可能会在最后一个抽屉才找到我们想要苹果...; } 当我在放元素时候,就拿着编号苹果去 % 一下抽屉长度,那只要你了解%含义,你就一定知道意思,现在就按照得出这个index 值放在对应抽屉里边,找时候,也按照这个算法算出来...他有很多种办法,咱们就给同学们介绍map中方式就好了,叫做链式地址法,也就是会把后来苹果挂在相同index,形成一个链表,至于什么是链表就不多说啦,值得注意是,1.7挂法和1.8挂法并不一样...式子2 很简单,就是n-1 ,为啥要使用&和式子一计算 ,那又是为啥,接下来我们就来解答这些问题 为什么要用& 问题一为啥要用&、 你有没有想过,万一通过 一个所谓哈希算法算出来index值并不在数组索引里

35200

如何处理手势冲突 | 手势导航连载 (三)

支持手势导航任何屏幕边缘区域都可能发生类似情况。...有很多可能导致冲突例子,例如: 导航抽屉 (DrawerLayout)、多图展示 (ViewPager)、进度条 (SeekBar),甚至在列表上进行滑动操作也有可能出现冲突。...那么,如何解决这个问题呢?我们准备了一张流程图帮助大家快速做出决策: △ 请点击图片放大查看 注解: 非粘性沉浸模式: 用户可以通过在系统栏滑动来退出沉浸模式。...该区域内滑动操作能让用户返回主屏或访问最近使用其他应用。这个强制交互区域可能会在将来平台版本中发生变化,但现在我们只需要考虑屏幕底部即可。...衍生阅读: 如何让 WindowInsets 更易于使用: medium.com/androiddeve… 更优解法 在做完一步后,您可能会觉得问题已经解决了。

4.9K30

彻底搞懂HashMap(

一、彻底搞懂HashMap() 文章概述: 相信很多朋友对于HashMap,开发中我们几乎每天都要使用它,但是每当问到map一些原理时,很多朋友就不知道如何去回答,甚至一问三不知,从而离我们心仪offer...10个抽屉里边去,当然这个顺序我们是随机放,现在苹果已经放进去了,假设我们想找6号苹果,我们就得打开一个一个抽屉,去看抽屉里边苹果是不是编号6 ,这样做很有可能会在最后一个抽屉才找到我们想要苹果...; } 当我在放元素时候,就拿着编号苹果去 % 一下抽屉长度,那只要你了解%含义,你就一定知道意思,现在就按照得出这个index 值放在对应抽屉里边,找时候,也按照这个算法算出来...他有很多种办法,咱们就给同学们介绍map中方式就好了,叫做链式地址法,也就是会把后来苹果挂在相同index,形成一个链表,至于什么是链表就不多说啦,值得注意是,1.7挂法和1.8挂法并不一样...式子2 很简单,就是n-1 ,为啥要使用&和式子一计算 ,那又是为啥,接下来我们就来解答这些问题 为什么要用& 问题一为啥要用&、 你有没有想过,万一通过 一个所谓哈希算法算出来index值并不在数组索引里

28640

Flutter | 容器组件

实际,只有这样才能保证 父限制与子限制不冲突 UnconstrainedBox 该组件不会对子组件产生任何限制,允许子组件按照本身大小绘制,一般情况下,我们很少使用此组件,但在 去除 多重限制时候也许会有帮助..., ), ), 复制代码 实际就是给最外层套了一个Padding Scaffold,TabBar,底部导航 一个完整路由页面可能会包含导航栏,抽屉菜单(Drawer) 以及底部 Tab 导航栏菜单等...,他包含 1,导航栏,导航按钮 2,抽屉菜单 3,底部导航 4,右下角悬浮按钮 实现代码如下: class ScaffoldRoute extends StatefulWidget { @override...Material 风格导航栏,通过他可以设置标题,导航栏菜单,导航底部tab等 AppBar({ Key key, this.leading, //导航栏最左侧Widget,常见为抽屉菜单按钮或返回按钮...,实际,打孔位置取决于 FloatingActionButton 位置,上面的位置为 FloatingActionButtonLocation.centerDocked ,所以打孔位置在底部导航正中间

5.5K10
领券