写点什么

Windows 8 用户界面的主旋律

  • 2011-09-15
  • 本文字数:2502 字

    阅读完需:约 8 分钟

“内容高于窗口部件”是 Windows 8 的格言。Windows 第一次把整个屏幕全部用于显示应用程序的内容,默认没有窗口边框、菜单、工具条这些东西。应用程序内的功能,像配置之类,被藏在“应用程序条”里面,当用户需要的时候才滑入视图范围。

言外之意是强调把“每一颗像素”都贡献给运行中的应用。在 Metro 设计下,界面上没有时钟,没有任务栏,没有通知区。不管哪个应用程序在运行,都会默认占据全部屏幕。当然如果用户希望同时看到两个应用,那也可以各占半边屏幕。

Windows 标准的窗口外框操作被屏幕边缘的手势取代。屏幕左侧边缘成了后退按钮,一般用于返回上一个应用程序。右侧边缘打开“charms”菜单,内含应用程序或者系统插件如搜索、分享等。上下边缘都是前面提过的"应用程序条"。

大多数 Metro 风格的应用程序一打开就是所谓的“Grid Application”布局。在这样的布局里,首先看见的就是放在一个个小格子里的内容。这种风格的应用没有任何内部的窗口框架和部件,所有的交互都直接针对内容本身。

快速、流畅

触摸型应用把性能表现放在很重要的位置。鼠标操作多少有些间接的东西引开用户的注意,而触摸型应用必须立即响应任何交互行为。

Windows 8 有一套系统动画。动画库已经准备好了大多数控件需要的东西,基本不需要投入开发精力。

Windows 8 将引入一套“触摸语言”。内中包含的手势虽然不多,但预计所有应用都会支持这种“语言”。在这套框架下多点触摸变得很基本,用户可以用一根手指摁住物体,同时另一根手指滚动屏幕。相比鼠标同一时间只能操作一个对象是很大的进步。

模态输入和延时输入开始淡出 Windows 8。例如选取一个物体只需要用手指划过去就行,不像以前还要“按下并保持”或者切换到带选择框的显示模式。

应用内导航有一个关键概念叫“Semantic Zoom”。当你放大、缩小 UI 的时候,它不仅是改变大小而已,还会改变显示的内容。在日历程序里面“放大”就会看到某天的情况,再放大就到了某个约会的情况;而“缩小”就会变成周视图和月视图。

Metro 应用一律要求在相同的界面内平等支持触摸操作和鼠标操作。用户将混用触摸、鼠标、键盘来操作,一切都取决于他们刚好在用什么样的设备。Microsoft 假设所有的桌面 PC 都带触摸屏,而所有的平板设备都可以接上鼠标和键盘。为了简化操作和开发,系统内建了一些通用的鼠标功能。例如右键点击将打开应用程序条和其他的上下文相关命令。

屏幕分辨率

所有应用程序必须支持的基本分辨率大小是 1024x768。这也是 Windows 8 支持的最低屏幕大小,所以应用程序无需顾虑更低的分辨率。

其次要求应用程序支持宽屏分辨率 1366x768。一般来说这个大小跟基本分辨率无甚区别。屏幕必须至少达到这个宽度,才能支持下一种模式——Snap View。

所有应用一律要求支持 Snap View。“收起视图”只有 320 像素宽,但应用必须在这个面积内显示用户想知道的一切信息。用户要能在标准视图和“收起视图”之间平滑切换,同时不能丢失视图切换前的位置。

竖屏模式是可选的。Microsoft 决定不强求,因为大多数桌面机和笔记本不好把屏幕转 90 度。不过对于大多数应用来说,能支持是好事。

契约和应用集成

应用集成是 Windows 8 的另一主旋律。操作系统对外公开一套通用功能的契约,比如搜索、分享等功能。

每个应用程序都应该实现分享契约中关于信息来源的那一半。如此才能快速、方便地发送信息给其他应用。“分享”不限于邮件和 Twitter;分享的对象可以是翻译程序、笔记程序,反正你以前会往里面“粘贴”的,都可以。只要实现了信息源契约,应用就自动与所有的分享目标兼容。

搜索契约也很值得关注。用户在“search charm”里面输入查询内容,然后触摸应用程序,就会有一块屏幕空间给它显示结果。因为应用列表始终可见,所以用户可以快速切换到不同的搜索结果。

搜索契约不是给应用程序内部搜索准备的,比如 PDF 阅读器的查找对话框那种。它针对的是那种把搜索页面放在最高位置的应用,比如菜谱应用、维基百科应用这一类。工具程序一般不需要实现搜索契约。

数据采集契约促成应用、服务的数据共享。与其下载数据文件到本地硬盘,应用可以直接从别的应用请求数据。今天的应用要实现 Web 服务接口才能访问各种服务,与之相比,数据采集契约的实现比较透明。如果你的应用支持采集契约,那么就可以从用户安装的所有采集源接收数据。

Live Tiles

Tiles 不是图标,它们是应用的延伸。即使应用已经关闭,Tiles 会给人留下应用还在运行的印象。向用户显示他所关心的信息,可达到唤起用户情感回应的目的。个人化的应用显示用户搜集的图片效果正好,而金融方面的应用不妨显示用户投资组合中的股票报价。

Tiles 也不是桌面小插件,它们大多只有唯一的触摸点。为了保证一致性,Tiles 被规定了模版。虽然有些模版允许完整的控制操作,不过大多数应用只会提供简单的文字或图片给 Windows 排版。

Tiles 有个“瞥一眼”的概念,它们可以稍稍上下滚动不长的距离,多显示一点文字和图片。

通知

通知可以在任何时刻显示在任何应用程序上方。用户可以忽略它、打开它,或者把它滑出屏幕。因为用户可以全局禁止通知功能,所以最好不要依赖它。

注意,并不存在一个收集未读通知的“杂物抽屉”,所以用户只有一次机会看到通知。如果让用户回看错过的通知很重要,那么应用程序应该相应更新其 Live Tile。

推送通知

应用可以订阅推送通知。这样 Windows 就能在应用没有运行的时候,照样更新其 Live Tile。请务必了解,只有当应用在屏幕上物理可见的时候,才是在运行中。所以推送通知往往是保持应用程序随时响应的唯一办法。

配置漫游

Metro 应用一般应该使用配置漫游。当用户在一台设备上配置好某应用,那么不管用户后来换到什么设备,应用始终保持配置不变。后台的设备间同步工作通过用户的 Windows Live 账户进行。

不需要特意保存

在应用之间切换的时候,Metro 应用只有大约 5 秒时间完成暂停前的准备。所以应用程序基本上会三不五时保存自己的状态。保存按钮不是必需的,撤销操作的功能倒很有必要。

理想状态下,用户应该可以在一台设备上更改数据,然后拿起另一台设备立即看到刚才的更改结果。不管是重要的业务信息,还是游戏存档,都应该以这种方式对待。

查看英文原文: Major UI Themes in Windows 8

2011-09-15 06:583775
用户头像

发布了 225 篇内容, 共 64.2 次阅读, 收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

【Spring Cloud 8】熔断与限流Sentinel,java常见面试题

Java 程序员 后端

【数据结构与算法 9】谁发明的八皇后,mysql教程视频百度云

Java 程序员 后端

【MyBatis 1】SQL注入,Java技术功底不够如何去面试

Java 程序员 后端

【Spring AOP】静态代理设计模式,大牛带你直击优秀开源框架灵魂

Java 程序员 后端

【Spring Boot 15】启动类原理解析,mysql主从复制原理面试

Java 程序员 后端

【Spring 持久层】Spring 事务开发,nginx原理及应用

Java 程序员 后端

【备战秋招】30道Spring IOC经典面试题,kafka消息中间件原理

Java 程序员 后端

【深度思考】JDK8中日期类型该如何使用,java面试题百度网盘

Java 程序员 后端

【牛客】从青铜到王者01,java基础入门第二版第二章答案

Java 程序员 后端

【Java知识点详解 10】为何要配置环境变量,rabbitmq的消息持久化原理

Java 程序员 后端

【MyBatis 2】MyBatis-Plus,java多线程常见面试题

Java 程序员 后端

【全栈最全Java框架总结】SSH,java线程池面试问题

Java 程序员 后端

【ShardingSphere 技术专题】,qt图形界面编程入门课后答案

Java 程序员 后端

【Spring Boot 7】RabbitMQ基础知识总结,Java学习笔记在互联网上火了

Java 程序员 后端

【并发编程】深入了解volatile(1),linux操作系统教程海南师范大学

Java 程序员 后端

【并发编程】深入了解volatile,nginx负载均衡架构

Java 程序员 后端

【新】虚拟机深层系列,java底层实现原理

Java 程序员 后端

【Linux 4】定时任务调度与进程服务管理,java编译器下载教程

Java 程序员 后端

【PyQt5】designer 页面点击按钮跳转页面,华为面试笔试题java

Java 程序员 后端

【Spring Boot 26】分别在SpringBoot和Vue中解决跨域问题

Java 程序员 后端

【Spring Boot 4】如何优雅的使用 Mybatis,linux内核深度解析

Java 程序员 后端

【数据库实验】,springboot视频教程迅雷

Java 程序员 后端

【数据结构与算法 12】二分查找,java大数据分析技术栈

Java 程序员 后端

【Java知识点详解 10】为何要配置环境变量(1),java从入门到精通第五版电子书百度云

Java 程序员 后端

【Spring Boot 7】RabbitMQ基础知识总结(1),java开发面试宝典

Java 程序员 后端

【Spring Boot 16】常用注解介绍及使用,内含福利

Java 程序员 后端

【Spring 工厂】反转控制与依赖注入,成功收获美团,小米offer

Java 程序员 后端

【Spring5,贼厉害

Java 程序员 后端

【实习之T100开发】Genero FGL (TIPTOP4GL) 学习笔记,2021金九银十

Java 程序员 后端

50道Linux基础命令题目及其解答 | Linux命令

Regan Yue

Linux 10月月更

【源码分析设计模式 10】SpringMVC中的建造者模式,mybatis技术原理pdf

Java 程序员 后端

Windows 8用户界面的主旋律_.NET_Jonathan Allen_InfoQ精选文章