开发高效的Smartphone用户界面

来源:互联网 发布:python 5分钟前 编辑:程序博客网 时间:2024/05/11 05:37
Smartphone是一个非常强大的开发平台,由于它的外形非常紧凑,在设计用户界面时你必须小心。Smartphone用户界面优化为易于单手操作,因此它不支持触摸屛。如果你在开发应用程序用户界面,一定要注意单手使用的情况。  

基本需求  

·  eMbedded  Visual  Tools  3.0  

·  eMbedded  Visual  C++  3.0  

·  Smartphone  2002  SDK  

Pocket  PC开发者需了解的信息  

Smartphone屏幕大小为176x220象素——比Pocket  PC的屏幕小。Smartphone优化为单手操作,表现为部分通用窗体控件无效。Smartphone也不支持触摸屛或类似鼠标的行为,将所有的交互限制在使用键盘和光标移动。为此微软提供了一些更适合单手操作的强大的控件。  


为Smartphone优化的控件  


Listview(列表视图)  

Listview用全屏幕代替了原来作为对话框的一部分。没有必要选择列表视图中的项,因为光标键在控件间移动,而不在控件之内。当列表视图有焦点时如果用户点击了Action按钮,列表视图将填满屏幕。  

Combo  and  List  Boxes(复合和列表框)  

Smartphone不支持List和Combo  Boxes,也不支持OpenDialog/SaveDialog和"Commdlg.h"定义的部件。这些通用对话框都是大屏幕环境建立的。此外,在Smartphone上,用户不是直接暴露到文件系统,而是通过应用程序选择文件。作为OpenDialog的代替,你可以使用应用程序提供的所有文件填充一个列表视图,让用户选择一个。  

Tabs和Property  Boxes(页面和属性框)  

使用新自定义功能键(SoftKey),你可以建立看起来象Pocket  PC上的tab相似的用户界面。限制为只有两个键,Smartphone用户界面设计样式指导规定SoftKey  1为“OK”(或者其它正面的选择,例如"Yes"、"Done"或者"New"),SoftKey  2为"Cancel"(或者反面选择,例如"No"或者进一步的操作)。大多数微软应用程序使用它操作主菜单。  

Sliders和Horizontal  Scrollbars(滑动条和垂直滚动条)  

没有输入方法来移动slider或者scrollbar,因为这要求按下按键同时移动它。但是将对话框样式设置为"垂直滚动"将可以操作。而且,如果你在屏幕下方移动光标并且对话框上有控件,屏幕将自动滚动。垂直滚动条更象一个可视屏幕空间的指示器,而不象用户操作控件。  

Treeview(树视图)  

Treeview要求大量的屏幕实际状态,作为层次数据的构造选择器。例如,全屏树视图可用于选择消息应用程序的文件夹。一旦文件夹被选中你能够释放全屏树视图并显示文件内容。  


可用的新控件  


Spinner  Control  

Spinner  control打算代替所有combo  box、list  box和list  view。它基本上是一个通常的带左右按钮的编辑框。  

用户可以左右移动光标在spinner编辑框中选择不同的输入。如果用户按下Action按钮,一个全屏幕列表和所有项将显示出来,用户能够再次使用Action按钮选择一个项。几乎所有Smartphone应用程序使用该控件。  

EVC资源编辑器不能识别该控件,因此你得用文本模式编辑源RC文件。下面的例子显示了控件怎样被插入资源文件:  

LISTBOX    IDC_YOURNAME,5,30,90,10,NOT  LBS_NOTIFY  |  LBS_SORT  |
                  LBS_NOINTEGRALHEIGHT  |  NOT  WS_BORDER  |  WS_TABSTOP
CONTROL    "",IDS_UPDOWN,"msctls_updown32",UDS_SETBUDDYINT  |
                  UDS_ALIGNRIGHT  |  UDS_AUTOBUDDY  |  UDS_ARROWKEYS  |
                  UDS_HORZ  |  0x200,0,0,0,0
  



  



图1.红圈显示为Spinner控件  


Full  screen  Multi  Line  Edit(全屏幕多行编辑框)  

该控件是一个编辑控件,如果被选中时用户点击Action按钮,它激活全屏幕"记事本"。该控件用于长文本,你如电子邮件正文或记录。  


一般指导方针  


为了设计有效的用户界面,你必须遵循一个过程来优化设计结果:  

第一步:检查应用程序或者Pocket  PC的当前用户界面  

·  查找所有不必要的界面元素并删除它们。  

·  查找所有不支持的元素并删除它们或者用Smartphone元素代替。  

·  试图避免可弹出对话框的对话框。  

第二步:一层叠着一层地放置界面元素,代替原来地一个挨着一个。  

·  在顶层元素上方使用说明标签代替在左边或者右边使用(见图2、图3)。  

·  可以有长对话框,因为它们会自动滚动。  


  



图2:  Pocket  PC用户界面  



  



图3:Smartphone用户界面  


第三步:查找所有通用对话框并删除它们。如果应用程序要求用户选择一个文件,通过下面的方法实现:  

·  将文件存储在"/My  Documents"中。  

·  将所有文件的列表载入一个Spinner控件。  

·  显示该Spinner控件而不是通用对话框。  

第四步:将菜单数量减少到一个,菜单项将少到4到8个。  

第五步:定义自定义功能键(SoftKey)。  

如果你有菜单,使用SoftKey  2。否则使用下面的方针:对"OK"或者其它正面选择使用SoftKey  1,对"Cancel"或者其它反面选择、进一步的选择使用SoftKey  2。  

第六步:用单手测试应用程序。  

强迫自己使用单手操作(即使在模拟器上)以确保它符合用户需要。  


结论  


通常在模拟器中测试用户界面。因为模拟器支持触摸,你也许有兴趣为它开发一个应用程序,但是在终端设备中是不支持触摸屛的。如果你为Smartphone优化了应用程序用户界面,应用程序将被广泛的接受,即使在没有经验的用户群中。在设计和建立用户界面时要重点强调使用的简便。