安卓巴士Android开发者门户

简介:

要创建最佳的原生应用程序设计,您应该牢记iOS和Android平台之间的差异。这些平台不仅在原生应用程序的外观方面有所不同; 它们在结构和交互方面也有所不同。您需要牢记这些差异,以通过原生应用程序设计给用户提供最佳用户体验。

iOS和Android的原生移动应用程序具有各自操作系统平台特殊的功能。Apple和Google的设计指南建议尽可能使用平台标准导航控件:页面控件,选项卡,分类控件,表视图,组合视图和拆分视图。用户熟悉这些控件是如何在每个平台上运行的,因此如果您使用标准控件,您的用户将直观地知道如何操作您的应用程序。我们专注于iOS和Android上的交互设计模式之间的主要区别,以阐明iOS和Android上的应用程序看起来不同的原因 - 以及它们为什么应该这样做。我们还提供原生应用程序设计模板和原生移动应用程序示例,以帮助您可视化我们正在谈论的内容。

导航模式的差异

在屏幕之间跳转是移动应用程序中的常见操作。在设计导航模式方面,考虑到iOS和Android不同的应用程序设计指南是非常重要的。Android设备底部有一个通用导航栏。使用导航栏中的后退按钮非常简便的返回上一个屏幕或步骤,它几乎适用于所有Android应用程序。

98c527c33f6f0e9a21f46f043d80f885f9406a4b

全局导航条(Android)

另一方面,Apple的设计方法却截然不同。没有全局导航栏,因此我们无法使用原生iOS应用程序设计中的全局后退按钮返回。这会影响iOS移动应用程序的设计。屏幕内部应该有一个左上角是一个返回按钮的原生导航栏。

302ee7feab7e8d324f3424bd2d0e7a05bab94e9c

返回按钮(iOS)

Apple还在应用程序中引入从左到右的滑动手势,以跳转到上一个屏幕。此手势几乎适用于所有应用。

9b87a0f7d43386f6aa741e937c77458859e6ec88

从左向右滑动手势 - 返回(iOS)

在这种情况下,iOS和Android之间的区别在于,在iOS设备上的原生应用程序中,从左向右滑动手势将返回到上一个屏幕。相同手势在Android设备上通常用于切换选项卡。但与iOS不同的是,Android设备上有一个底部导航栏,后面的按钮会返回上一个屏幕。

记住平台之间的这种差异以保持与其他移动应用程序的一致性始终很重要。

9ec5debc50976d0b7db888cee194c67e0d8b4579

从左向右滑动手势 - 在标签之间切换(Android) iOS和Android中应用内导航模式有所不同

“Material Design Guidelines” 中有一些不同的导航选项。Android应用程序中使用的一个众所周知的导航模式是抽屉导航和选项卡的组合。

抽屉导航是一个通过点击汉堡菜单图标从左侧或右侧滑入的菜单。选项卡位于屏幕标题的正下方,内容组织处于较高级别,允许用户在应用中切换不同的视图,数据集和功能。

ac2b10bd53b2101a97f6678b7aaaf96fa6849dbb

左—抽屉导航菜单, 右—选项卡

Material Design中还有一个名为bottom navigation的组件。此组件对于Material Design应用程序也很重要。底部导航栏使您可以轻松浏览和切换顶级视图。Material Design Guidelines不建议同时使用底部导航和选项卡,因为它可能会在导航时造成混淆。

1e700447b6f4f7d88899f37fd2891f257d45d683

底部导航(材料设计)

在Apple的UI指南中,没有与抽屉导航菜单类似的标准导航控件。相反,Apple的指南建议将全局导航放在选项卡中。选项卡显示在应用程序屏幕的底部,可以在应用程序的主要类别之间快速切换。

通常,选项卡包含的类别不超过五个。我们可以看到,此组件类似于Material Design中的底部导航,但更常用于iOS应用程序中。

7a924eb42ed6e45ee3ccd21b231f6b3707b67b91

左上角 - iOS分段控制; 右下角 - iOS标签栏(HIG)

虽然在两个操作系统中都有类似的功能(选项卡和类别控制,底部导航和标签栏),但导航仍然是iOS和Android之间的主要区别之一。存在两个客观差异,例如Android中的全局导航栏及其在iOS中的缺乏,以及这两个系统的视觉差异。

Apple认为主要导航元素应位于前台,汉堡包菜单应仅用于存储不是用户执行的日常任务的功能。不同的是,Android应用程序通常的做法是在汉堡菜单中隐藏主导航。

自定义标准控件需要额外的开发时间,并且对于用户来说是不熟悉的

如果您希望应用程序中的每个元素在不同平台上看起来相同,那么您需要进行额外的开发工作才能创建最佳的移动应用程序设计。最复杂的用例涉及默认控件,如单选按钮,复选框,切换按钮等,并且需要自定义视图实现,以在iOS上显示类似iOS的控件或类似Android的控件。

每个平台都有其独特的交互。在每个操作系统中尊重用户习惯的设计是良好的设计。在为iOS和Android设计移动应用程序时,牢记平台之间的差异非常重要,这样您就可以设计出满足用户期望的应用程序。

在两个平台上的一个不同的元素的设计示例是日期选择器。Android用户不熟悉iOS中常见的老虎机卷轴式日期选择器。在Android中使用这种样式的日期选择器需要自定义视图,这可能会变得复杂,增加了开发的复杂性和持续时间,并使您的应用程序设计看起来与Android平台不同。

1385a55a95054ea93d61929560fabf64d269c3ce

iOS和Android中的按钮样式

“Material Design Guidelines”中有两种类型的按钮 - 平面和凸起。这些按钮用于不同的情况。Material Design中按钮上的文本通常都是大写的。有时我们在本机iOS应用程序中也会找到大写按钮文本,但通常我们找到的是标题大小写。

e0d00565a29643d959b299f3fad813b14395320e

左 - 标准材料设计按钮; 右 - 标准的HIG按钮

还有一种类型的按钮 - Android上的浮动操作按钮和iOS上的呼叫操作按钮。浮动操作按钮表示应用程序中的主要操作。例如,邮件应用程序中的撰写按钮或社交网络应用程序中的新帖子按钮可以是浮动操作按钮。iOS应用程序中主要操作的类似设计是行为按钮,该按钮位于标签栏的中心。

ad04605935bdb4762a87b39e15a430133d33ddbb

左侧 - iOS中的标准CTA按钮; 右 - Android中的标准浮动操作按钮

Android中的原生底部列表与iOS中的活动视图操作列表之间的差异

Android中有两种类型的底部列表:list列表和表格列表。list底部列表有两种类型的内容:具有不同情景操作的列表和在用户点击“共享”图标后显示的应用程序列表。我们可以在iOS活动视图操作列表中找到相同类型的内容。但这些组件看起来与Android底部列表不同。

618725536f2176288ce9b56223d92740c2dfb80c

左 - 标准材料设计底部列表; 右 - iOS应用中的操作表 分辨率的差异

iOS和Android的分辨率指南略有不同(iOS为44px @ 1x,Android为48dp / 48px @ 1x)。Material Design Guidelines还建议将所有元素与8dp方形基线网格对齐。

排版差异

San Francisco是iOS中的系统字体。Roboto是Android中的标准字体。Noto是Chrome和Android不支持的所有语言的标准字体。您需要密切关注每个平台的排版和布局规范。

e0873ae9a88eff79cefd610a51abf3de42b65793

左 - 材料设计排版; 右 - HIG排版 Microinteractions

在设计方面,第一印象通常是用户的最后印象。

这就是为什么从一开始就吸引用户的注意力如此重要。在应用程序设计和开发过程中,我们可以通过微交互和动画为用户创建一个非常着迷的体验。

让我们明确关于两个平台的交互和动作的主要规则和建议,并查看详细示例。

重点和重要性 - 交互将用户的注意力集中在应用程序中真正重要的内容上,因此只有在真正需要时才需要使用它们。两个平台都不鼓励过多的动画,因为它们会分散用户的注意力并使用户感到紧张。

一致性和层次结构 - 请务必记住,交互通过显示元素彼此之间的关系来帮助用户在应用中定位自己。从一个屏幕到另一个屏幕的自然,流畅的过渡使用户保持沉浸其中。动作向导为如何执行操作提供了有用的建议。

尽管使用微动画的基本建议在“Material Design Guidelines”和“人机交互指南”中非常相似,但仍有一些明确定义的差异。用户习惯于这些特定于平台的过渡,并觉得十分自然。

这就是为什么要特别注意熟悉的交互是十分重要的,这将改善用户体验并在每个平台上看起来自然。

iOS

iOS用户习惯于iOS中使用的微妙动画,例如平滑过渡,设备方向的流畅变化和基于物理的移动。当移动没有意义或似乎违反物理定律时,iOS用户会感到迷失方向。例如,如果用户通过从屏幕顶部向下滑动来显示视图,则他们希望能够通过向后滑动来退出视图。HIG强烈建议,除非您正在创建诸如游戏之类的沉浸式体验,否则您可以使自定义过渡动画与内置动画相媲美。

Android

根据“Material Design Guidelines”,在转换期间,转换的界面元素分为传出,传入或固定。项目所属的类别会影响其转换方式。

动画引导用户注意。当UI改变外观时,动作在转换之前和之后提供元素的放置和外观之间的连续性。导航转换是与界面进行整体交互的重要元素。它们通过表达应用程序的层次结构帮助用户定位自己。例如,当元素扩展以填充整个屏幕时,扩展行为表示新屏幕是子元素。它展开的屏幕是它的父元素。

导航转换是与界面进行整体交互的重要元素。它们通过表达应用程序的层次结构帮助用户定位自己。例如,当元素扩展以填充整个屏幕时,扩展行为表示新屏幕是子元素。它展开的屏幕是它的父元素。

636576e485b5f5bea585a505726858fea1a0242b

父级视图对子视图过渡的例子(Material Design Guidelines)

在父屏幕上,嵌入的子元素在触摸时会抬起并在适当的位置展开。

过渡将重点放在子屏幕上,同时加强了父子视图之间的关系。

共用相同父级的屏幕(例如相册中的照片,个人资料中的部分或流程中的步骤)一致地移动以加强他们的关系。视图从一侧滑入,同时同级的视图在相反方向上离开屏幕。

9f10b2c0c17b2c935ce80eb3af1f43bdb8c6359e

选项卡位于同一高度,并在水平方向上一起移动

在应用程序的顶层,选项通常被分组为主要任务(可能彼此不相关)。这些屏幕通过更改不透明度和比例等值来转换。

结论

当然也有例外:一些iOS应用程序遵循Material Design Guidelines(如Gmail),一些Android应用程序遵循人机交互指南(如Instagram)。

96f939f1f6e5bfbc36be260f39181998980c0b3f

左-Instagram on iO;右 -Instagram on Android

但有一点是显而易见的 - 使用原生组件为两个操作系统设计移动应用程序要快得多。因此,最好花时间对应不同的系统平台设计而不是开发一个应用程序模型,因为一个应用程序模型是Apple的人机交互指南和Google的Material Design组件的混合,然后由于自定义元素而花费大量时间进行开发。

想要查看本机设计应用示例,其中我们使用本机元素以及具有强大样式的自定义界面?访问我们的Dribbble 和Behance 页面,以更好地了解我们的能力。


原文发布时间为:2018-10-18

本文作者:SteelKiwi Inc.

本文来自云栖社区合作伙伴“安卓巴士Android开发者门户”,了解相关信息可以关注“安卓巴士Android开发者门户”。

相关文章
|
1月前
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
59 3
|
3月前
|
Shell Linux 开发工具
"开发者的救星:揭秘如何用adb神器征服Android设备,开启高效调试之旅!"
【8月更文挑战第20天】Android Debug Bridge (adb) 是 Android 开发者必备工具,用于实现计算机与 Android 设备间通讯,执行调试及命令操作。adb 提供了丰富的命令行接口,覆盖从基础设备管理到复杂系统操作的需求。本文详细介绍 adb 的安装配置流程,并列举实用命令示例,包括设备连接管理、应用安装调试、文件系统访问等基础功能,以及端口转发、日志查看等高级技巧。此外,还提供了常见问题的故障排除指南,帮助开发者快速解决问题。掌握 adb 将极大提升 Android 开发效率,助力项目顺利推进。
90 0
|
1月前
|
IDE Android开发 iOS开发
探索安卓与iOS系统的技术差异:开发者的视角
本文深入分析了安卓(Android)与苹果iOS两大移动操作系统在技术架构、开发环境、用户体验和市场策略方面的主要差异。通过对比这两种系统的不同特点,旨在为移动应用开发者提供有价值的见解,帮助他们在不同平台上做出更明智的开发决策。
|
2月前
|
前端开发 Java 数据库
💡Android开发者必看!掌握这5大框架,轻松打造爆款应用不是梦!🏆
在Android开发领域,框架犹如指路明灯,助力开发者加速应用开发并提升品质。本文将介绍五大必备框架:Retrofit简化网络请求,Room优化数据库访问,MVVM架构提高代码可维护性,Dagger 2管理依赖注入,Jetpack Compose革新UI开发。掌握这些框架,助你在竞争激烈的市场中脱颖而出,打造爆款应用。
354 3
|
2月前
|
IDE Java Android开发
安卓与iOS开发环境的差异及其对开发者的影响
在数字时代的浪潮中,移动应用成为人们生活的延伸。两大操作系统——安卓与iOS,如同两座技术高峰,各自占据着半壁江山。本文将探索这两个平台的开发环境差异,并讨论这些差异如何塑造开发者的编程习惯与职业选择。我们将从工具和语言、用户界面设计、系统架构、市场定位以及开发社区和资源五个方面进行比较,旨在为开发者提供一份实用的指南,帮助他们在不断变化的技术世界中,找到适合自己的发展路径。
55 3
|
2月前
|
移动开发 开发工具 Android开发
安卓与iOS开发:平台差异及其对开发者的影响
在移动开发的大潮中,安卓和iOS两大阵营各领风骚。本文将探讨这两个平台的关键差异,包括开发环境、编程语言、用户界面设计、应用分发以及商业模式等方面。通过比较分析,我们旨在为开发者提供一个清晰的指导,帮助他们根据项目需求和个人偏好做出明智的平台选择。同时,文章也将分享一些跨平台开发工具的使用经验,以期最大化开发效率和市场覆盖。
70 1
|
3月前
|
开发工具 Android开发 iOS开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第22天】在移动开发的广阔舞台上,安卓与iOS两大操作系统各自占据着半壁江山。它们不仅是用户手中的智能设备,更是开发者展示创意和技术的战场。本文将深入探讨这两个平台的开发环境差异,以及这些差异如何塑造开发者的技术路线和职业生涯。从编程语言到开发工具,从市场定位到用户需求,我们将一探究竟,这两种不同的生态系统是如何影响开发者的决策和成长的。
|
3月前
|
Android开发
我的Android进阶修炼:安卓启动流程之init(1)
本文深入分析了Android系统中的init进程,包括其源码结构、主要功能以及启动流程的详细注解,旨在帮助读者理解init作为用户空间的1号进程在Android启动过程中的关键作用。
65 1
|
3月前
|
Java 开发工具 Android开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第21天】在移动应用开发的广阔天地中,安卓和iOS两大平台各据一方,它们不仅在用户体验上有所区别,更在开发环境上展现出独特的风貌。本文将深入探讨这两大平台的开发环境差异,以及这些差异如何塑造开发者的技术路径和职业生涯。从工具和语言的选择到市场份额的争夺,我们将一一剖析,以期为即将踏入这一领域的新手开发者提供一盏明灯。
|
2月前
|
监控 算法 数据可视化
深入解析Android应用开发中的高效内存管理策略在移动应用开发领域,Android平台因其开放性和灵活性备受开发者青睐。然而,随之而来的是内存管理的复杂性,这对开发者提出了更高的要求。高效的内存管理不仅能够提升应用的性能,还能有效避免因内存泄漏导致的应用崩溃。本文将探讨Android应用开发中的内存管理问题,并提供一系列实用的优化策略,帮助开发者打造更稳定、更高效的应用。
在Android开发中,内存管理是一个绕不开的话题。良好的内存管理机制不仅可以提高应用的运行效率,还能有效预防内存泄漏和过度消耗,从而延长电池寿命并提升用户体验。本文从Android内存管理的基本原理出发,详细讨论了几种常见的内存管理技巧,包括内存泄漏的检测与修复、内存分配与回收的优化方法,以及如何通过合理的编程习惯减少内存开销。通过对这些内容的阐述,旨在为Android开发者提供一套系统化的内存优化指南,助力开发出更加流畅稳定的应用。
72 0
下一篇
无影云桌面