×
Namespaces

Variants
Actions

Asha平台设备物理Back按键的使用

From Nokia Developer Wiki
Jump to: navigation, search
WP Metro Icon Chinese.png
Article Metadata

兼容于
平台:
Nokia Asha

文章
Amazing1100 在 22 Jul 2013 创建
最后由 Amazing1100 在 14 Aug 2013 编辑


Contents

引言

在Nokia全新Asha平台设备新引入了一个物理返回键,本文将会介绍如何在代码中使我们的命令映射到物理返回键,以及在从以前的S40平台移植游戏,应用到Asha平台时,关于物理返回键需要注意的地方。


关于物理返回键

物理返回键处于屏幕下方,用来返回前一个UI界面。 在主屏幕点击物理返回键将会在两个主屏幕之间切换(最近事件列表界面 和 应用程序列表界面)。在应用程序内点击物理返回键将返回上一个UI状态,长按物理返回键将关闭当前程序。

LWUIT pattern navigation drillDown.png

页面导航

根据Asha的UI规范,在一个应用内有层级关系的页面都应以类似于Stack的行为方式存在。 物理返回键就是这种页面导航构思的最核心的元素,它允许用户在页面导航中返回上一级界面。

对于所有的MIDlet,必须遵守以下规则:

  • 在应用主页面层次,点击物理返回按键退出程序。
  • 在应用的次级页面,点击物理返回键导航到上一层的页面。

需要注意的是,根据Asha UI规范在屏幕上是不允许“返回”键(图标)存在的,以避免功能性重复。 通过移除屏幕上的返回按键,应用将帮助用户习惯于使用物理返回键来达到返回上一个UI界面,或者退出应用的功能。

允许的特列: 在游戏中在界面上允许存在返回键,但是必须进行适配以使物理返回键也具有和它相同的功能。


对于下面的这些UI控件,点击物理返回键后,将会自动退出他们:

  • 菜单或者上下文菜单
  • 对话框
  • 通知面板
  • 选择器
  • etc



物理返回键映射

在Asha平台中物理返回键可以映射两种类型的Command,分别为Command.Back 和 Command.Exit, 那么什么时候映射exit, 什么时候又映射back呢, 有如下规则:

  • 如果多个Back命令存在,那么优先级最高的被映射到物理返回键
  • 如果MIDlet没有Back命令,但有Exit命令, 单击返回键触发Exit命令。
  • 如果MIDlet有Back命令,不管有没有Exit命令, 单击返回键触发Back命令。
  • 如果MIDlet没有Back也没有Exit命令,而有CategoryBar,单击返回键触发CategoryBar自动为你生成的Back命令。


代码实现

有如下代码, 在Form中添加了如下的命令:

cmdOk = new IconCommand("Ok", Command.OK, 1, IconCommand.ICON_OK);
cmdOptions=new IconCommand("Options", Command.SCREEN, 2,IconCommand.OPTIONS);
cmdHelp = new Command("Help", Command.HELP, 2);
cmdBack = new IconCommand("Back", Command.BACK, 3, IconCommand.ICON_BACK);

显示效果如图:

Back HW key 1.png

那么大家可以看Back命令去哪里了呢?其实这是Back按键已经自动被映射到了物理返回键,所以我们在菜单中看不到了。

总结

综上,其实在应用中要把命令映射到物理返回键十分简单,就是在需要返回上层的的次级页面添加Back类型的命令,系统自动就会把该命令映射过去。 另外需要注意的是,由于在Asha平台中引入的新的物理返回键,所以我们我们在移植以前的应用时,一定记得对该物理返回工程做适配,否则在提交应用审核时,是不能通过的。

This page was last modified on 14 August 2013, at 08:53.
187 page views in the last 30 days.