微信小程序 UI布局常用技巧整理总结


Posted in Javascript onDecember 05, 2016

微信小程序ui设计规范汇总:

微信小程序是一种全新的应用形态,微信小程序平台不需要下载安装即可使用应用的平台,微信小程序实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。

也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。

概要

基于微信小程序轻快的特点,我们拟定了小程序界面设计指南和建议。 设计指南建立在充分尊重用户知情权与操作权的基础之上。旨在微信生态体系内,建立友好、高效、一致的用户体验,同时最大程度适应和支持不同需求,实现用户与小程序服务方的共赢。

友好礼貌

为了避免用户在微信中使用小程序服务时,注意力被周围复杂环境干扰,小程序在设计时应该注意减少无关的设计元素对用户目标的干扰,礼貌地向用户展示程序提供的服务,友好地引导用户进行操作。

重点突出

每个页面都应有明确的重点,以便于用户每进入一个新页面的时候都能快速地理解页面内容,在确定了重点的前提下,应尽量避免页面上出现其他干扰项影响用户的决策和操作。

反例示意

此页面的主题是查询,却添加了诸多与查询不相关的业务入口,与用户的预期不符,易造成用户的迷失。

微信小程序 UI布局常用技巧整理总结

纠正示意

去掉任何与用户目标不相关的内容,明确页面主题,在技术和页面控件允许的前提下提供有助于用户目标的帮助内容,比如最近搜索词,常用搜索词等。

微信小程序 UI布局常用技巧整理总结

反例示意

操作没有主次,让用户无从选择

微信小程序 UI布局常用技巧整理总结

纠正示意

首先要避免并列过多操作让用户选择,在不得不并列多个操作时,需区分操作主次,减轻用户的选择难度。

微信小程序 UI布局常用技巧整理总结

流程明确

为了让用户顺畅地使用页面,在用户进行某一个操作流程时,应避免出现用户目标流程之外的内容而打断用户。

反例示意

用户本打算进行搜索,在进入页面时却被突如其来的抽奖弹窗所打断;对于抽奖没有兴趣的用户是非常不友好的干扰; 而即便有部分用户确实被“诱人”的抽奖活动所吸引,离开主流程去抽奖之后可能就遗忘了原本的目标,进而失去了对产品真正价值的利用和认识。

微信小程序 UI布局常用技巧整理总结

清晰明确

一旦用户进入我们的小程序页面,我们就有责任和义务清晰明确地告知用户身在何处、又可以往何处去,确保用户在页面中游刃有余地穿梭而不迷路,这样才能为用户提供安全的愉悦的使用体验。

导航明确,来去自如

导航是确保用户在网页中浏览跳转时不迷路的最关键因素。导航需要告诉用户,我在哪,我可以去哪,如何回去等问题。首先在微信系统内的所有小程序的全部页面,均会自带微信提供的导航栏,统一解决我在哪,如何回去的问题。在微信层级导航保持体验一致,有助于用户在微信内形成统一的体验和交互认知,无需在各小程序和微信切换中新增学习成本或改变使用习惯。

微信导航栏

微信导航栏,直接继承于客户端,除导航栏颜色之外,开发者无需亦不可对其中的内容进行自定义。但开发者需要规定小程序各个页面的跳转关系,让导航系统能够以合理的方式工作。

微信导航栏分为导航区域、标题区域以及操作区域。其中导航区控制程序页面进程。目前导航栏分深浅两种基本配色。

导航区(iOS)

导航区通常只有一个操作,即返回上一级界面。

导航区(Android)

同iOS一样,导航区也只有一个返回上一级页面的操作,而点击安卓手机自带的硬件返回键也起到相同作用。

微信小程序 UI布局常用技巧整理总结

微信导航栏自定义颜色规则(iOS和Android)

小程序导航栏支持基本的背景颜色自定义功能,选择的颜色需要在满足可用性前提下,和谐搭配微信提供的两套主导航栏图标。建议参考以下选色效果:

选色方案示例

微信小程序 UI布局常用技巧整理总结

页面内导航

开发者可根据自身功能设计需要在页面内添加自有导航。并保持不同页面间导航一致。但是受限于手机屏幕尺寸的限制,小程序页面的导航应尽量简单,若仅为一般线性浏览的页面建议仅使用微信导航栏即可。

开发者可选择小程序页面添加标签分页(Tab)导航。标签分页栏可固定在页面顶部或者底部,便于用户在不同的分页间做切换。标签数量不得少于2个,最多不得超过5个,为确保点击区域,建议标签数量不超过4项。一个页面也不应出现一组以上的标签分页栏。

其中小程序首页可选择微信提供的原生底部标签分页样式,该样式仅供小程序首页使用。开发时可自定义图标样式、标签文案以及文案颜色等,具体设置项可参考开发文档。

微信小程序 UI布局常用技巧整理总结

顶部标签分页栏颜色可自定义。在自定义颜色选择中,务必注意保持分页栏标签的可用性、可视性和可操作性。

微信小程序 UI布局常用技巧整理总结

微信小程序 UI布局常用技巧整理总结

减少等待,反馈及时

页面的过长时间的等待会引起用户的不良情绪,使用微信小程序项目提供的技术已能很大程度缩短等待时间。即便如此,当不可避免的出现了加载和等待的时候,需要予以及时的反馈以舒缓用户等待的不良情绪。

启动页加载

小程序启动页是小程序在微信内容一定程度上展现品牌特征的页面之一。本页面将突出展示小程序品牌特征和加载状态。启动页除品牌标志(Logo)展示外,页面上的其他所有元素如加载进度指示,均由微信统一提供且不能更改,无需开发者开发。

微信小程序 UI布局常用技巧整理总结

页面下拉刷新加载

在微信小程序内,微信提供标准的页面下拉刷新加载能力和样式。

开发者可自定义需要通过下拉交互完成刷新的页面,此类交互微信将提供标准能力和样式。在样式上,刷新图标与下拉标示配色已捆绑,分为深浅两套方案,开发者在使用时,应注意头部文字、下拉标识与刷新图标的和谐统一。当用户在该类页面做出下拉交互时,出现微信小程序页面标准加载动画。开发者无需自行开发样式

微信小程序 UI布局常用技巧整理总结

深浅两套下拉样式

微信下拉提示用于给用户明确的小程序归属者,防止造假与作弊。此处标示提供深浅两套方案,文字颜色不可自定义,开发者在自定义背景色时,应注意保证下拉标示的辨识度。iOS和Android配色方案相同如下展示。

微信小程序 UI布局常用技巧整理总结

微信下拉标示错误使用案例

请避免以下错误使用情况,确保信息的可见性和页面的可用性

微信小程序 UI布局常用技巧整理总结

微信小程序 UI布局常用技巧整理总结

页面内加载反馈

开发者可在小程序里自定义页面内容的加载样式。建议不管是使用在局部还是全体,自定义加载样式都应该尽可能简洁,并使用简单动画告知用户加载过程。 开发者也可以使用微信提供的,统一的页面加载样式,如图中例所示。

微信小程序 UI布局常用技巧整理总结

模态加载

模态的加载样式将覆盖整个页面的,由于无法明确告知具体加载的位置或内容将可能引起用户的焦虑感,因此应谨慎使用。除了在某些全局性操作下不要使用模态的加载。

微信小程序 UI布局常用技巧整理总结

局部加载反馈

即只在触发加载的页面局部进行反馈,这样的反馈机制更加有针对性,页面改动小,是微信推荐的反馈方式。例如:

微信小程序 UI布局常用技巧整理总结

加载反馈注意事项

若载入时间较长,应提供取消操作,并使用进度条显示载入的进度。

载入过程中,应保持动画效果 ; 无动画效果的加载很容易让人产生该界面已经卡死的错觉。

不要在同一个页面同时使用超过1个加载动画。

结果反馈

除了在用户等待的过程中需予以及时反馈外,对操作的结果也需要予以明确反馈。根据实际情况,可选择不同的结果反馈样式。对于页面局部的操作,可在操作区域予以直接反馈,对于页面级操作结果,可使用弹出式提示(Toast)、模态对话框或结果页面展示。

页面局部操作结果反馈

对于页面局部的操作,可在操作区域予以直接反馈,例如点击多选控件前后如下图。对于常用控件,微信设计中心将提供控件库,其中的控件将提供完整操作反馈。

微信小程序 UI布局常用技巧整理总结

页面全局操作结果——弹出式提示(Toast)

弹出式提示(Toast)适用于轻量级的成功提示,1.5秒后自动消失,并不打断流程,对用户影响较小,适用于不需要强调成功状态的操作提醒。特别注意该形式不适用于错误提醒。

微信小程序 UI布局常用技巧整理总结

页面全局操作结果——模态对话框

对于需要用户明确知晓的操作结果状态可通过模态对话框来提示,并可附带下一步操作指引。

微信小程序 UI布局常用技巧整理总结

页面全局操作结果—结果页

对于操作结果已经是当前流程的终结的情况,可使用操作结果页来反馈。这种方式最为强烈和明确的告知用户操作已经完成,并可根据实际情况给出下一步操作的指引。

微信小程序 UI布局常用技巧整理总结

异常可控,有路可退

在设计任何的任务和流程时,异常状态和流程往往容易被忽略,而这些异常场景往往是用户最为沮丧和需要帮助的时候,因此需要格外注意异常状态的设计,在出现异常时予以用户必要的状态提示,并告知解决方案,使其有路可退。

要杜绝异常状态下,用户莫名其妙又无处可去,卡在某一个页面的情况。2.2中所提到的弹窗和结果页面都可作为异常状态的提醒方式。除此之外,在表单页面中尤其是表单项较多的页面中,还应明确指出出错项目,以便用户修改。

异常状态——表单出错

表单报错,在表单顶部告知错误原因,并标识出错误字段提示用户修改

微信小程序 UI布局常用技巧整理总结

便捷优雅

从PC时代的物理键盘鼠标到移动端时代手指,虽然输入设备极大精简,但是手指操作的准确性却大大不如键盘鼠标精确。为了适应这个变化,需要开发者在设计过程中充分利用手机特性,让用户便捷优雅的操控界面。

减少输入

由于手机键盘区域小且密集,输入困难的同时还易引起输入错误,因此在设计小程序页面时因尽量减少用户输入,利用现有接口或其他一些易于操作的选择控件来改善用户输入的体验。

减少输入,巧用接口

例如下图中,在添加银行卡时,采用摄像头识别接口来帮助用户输入。除此之外微信团队还对外开放例如地理位置接口等多种微信小程序接口 ,充分利用这些接口将大大提高用户输入的效率和准确性,进而优化体验。

微信小程序 UI布局常用技巧整理总结

除了利用接口外,在不得不让用户进行手动输入时,应尽量让用户做选择而不是键盘输入。一方面,回忆易于记忆,让用户在有限的选项中做选择通常来说是容易于完全靠记忆输入;另一方面,仍然是考虑到手机键盘密集的单键输入极易造成输入错误。

例如图中,在用户搜索时提供搜索历史快捷选项将帮助用户快速进行搜索,而减少或避免不必要是键盘输入。

微信小程序 UI布局常用技巧整理总结

避免误操作

因为在手机上我们通过手指触摸屏幕来操控界面,手指的点击精确度远不如鼠标,因此在设计页面上需点击的控件时,需要充分考虑到其热区面积,避免由于可点击区域过小或过于密集而造成误操作。当简单的将原本在电脑屏幕上使用的界面不做任何适配直接移植到手机上时,往往就容易出现这样的问题。由于手机屏幕分辨率各不相同,因此最适宜点击像素尺寸也不完全一致,但换算成物理尺寸后大致是在7mm-9mm之间。在微信提供的标准组件库中,各种控件元素均已考虑到了页面点击效果以及不同屏幕的适配,因此再次推荐使用或模仿标准控件尺寸进行设计。

利用接口提升性能

微信设计中心已推出了一套网页标准控件库,包括sketch设计控件库和Photoshop设计控件库,后续还将完善小程序组件,这些控件都已充分考虑了移动端页面的特点,能够保证其在移动端页面上的可用性和操作性能;同时微信开发团队也在不断完善和扩充微信小程序接口,并提供微信公共库,利用这些资源不但能够为用户提供更加快捷的服务,而且对页面性能的提高有极大作用,无形之中提升了用户体验。

统一稳定

除了以上所提到的种种原则,建议接入微信的小程序还应该时刻注意不同页面间的统一性和延续性,在不同的页面尽量使用一致的控件和交互方式。

统一的页面体验和有延续性的界面元素都将帮助用最少的学习成本达成使用目标,减轻页面跳动所造成的不适感。正因如此,小程序可根据需要使用微信提供的标准控件,以达到统一稳定的目的。

视觉规范

为方便设计师进行设计,微信提供一套可供Web设计和小程序使用的基础控件库;同时提供方便开发者调用的资源。

字体规范

微信内字体的使用与所运行的系统字体保持一致,常用字号为20, 18, 17, 16,14 13, 11(pt),使用场景具体如下:

微信小程序 UI布局常用技巧整理总结

字体颜色

微信小程序 UI布局常用技巧整理总结

主内容 Black 黑色,次要内容 Grey 灰色;时间戳与表单缺省值 Light 灰色;大段的说明内容而且属于主要内容用 Semi 黑;

微信小程序 UI布局常用技巧整理总结

蓝色为链接用色,绿色为完成字样色,红色为出错用色 Press与 Disable状态分别降低透明度为20%与10%;

微信小程序 UI布局常用技巧整理总结

列表视觉规范

微信小程序 UI布局常用技巧整理总结

表单输入视觉规范

微信小程序 UI布局常用技巧整理总结

按钮使用原则

列表外按钮上文字标准

按钮高度为44px下使用: 颜色 #000000 / #353535 字号 18pt

可点状态下文字调整透明度为60%

不可点状态下文字调整透明度为30%

微信小程序 UI布局常用技巧整理总结

列表外按钮上文字标准

按钮高度为25px下使用: 颜色 #000000 / #353535 字号 14pt

页面线性按钮上文字标准

按钮高度为35px下使用: 颜色 #09BB07 / #353535 字号 16pt

微信小程序 UI布局常用技巧整理总结

图标使用原则

微信小程序 UI布局常用技巧整理总结

注意:想做好漂亮的UI 关注官网API 必不可少!

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jquery中的$(document).ready()与window.onload的区别
Nov 18 Javascript
JS delegate与live浅析
Dec 21 Javascript
JavaScript 事件绑定及深入
Apr 13 Javascript
jQuery实现自动调整字体大小的方法
Jun 15 Javascript
JavaScript字符串删除重复字符的方法
Dec 25 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
Aug 13 Javascript
微信小程序 progress组件详解及实例代码
Oct 25 Javascript
微信小程序实现城市列表选择
Jun 05 Javascript
javascript系统时间设置操作示例
Jun 17 Javascript
深入浅析vue中cross-env的使用
Sep 12 Javascript
JS实现吸顶特效
Jan 08 Javascript
Nuxt.js nuxt-link与router-link的区别说明
Nov 06 Javascript
深入理解vue.js双向绑定的实现原理
Dec 05 #Javascript
微信小程序 底部导航栏目开发资料
Dec 05 #Javascript
基于js实现的限制文本框只可以输入数字
Dec 05 #Javascript
AJAX和jQuery动态加载数据的实现方法
Dec 05 #Javascript
Javascript中字符串replace方法的第二个参数探究
Dec 05 #Javascript
解析预加载显示图片艺术
Dec 05 #Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
Dec 05 #Javascript
You might like
PHP实现动态执行代码的方法
2016/03/25 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
由Javascript实现的页面日历
2011/11/04 Javascript
node.js中watch机制详解
2014/11/17 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
js获取页面及个元素高度、宽度的代码
2016/04/26 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
layui 数据表格复选框实现单选功能的例子
2019/09/19 Javascript
python中lambda与def用法对比实例分析
2015/04/30 Python
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
解决Python pip 自动更新升级失败的问题
2020/02/21 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
PyQt5中QSpinBox计数器的实现
2021/01/18 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
附答案的Java面试题
2012/11/19 面试题
汉语言文学毕业生求职信
2013/10/01 职场文书
复核员上岗演讲稿
2014/01/05 职场文书
承办会议欢迎词
2014/01/17 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
2014年个人教学工作总结
2014/12/09 职场文书
开平碉楼导游词
2015/02/06 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL
python 判断文件或文件夹是否存在
2022/03/18 Python
uniapp开发打包多端应用完整方法指南
2022/12/24 Javascript