简介
随着移动平台变得越来越复杂,移动计算需求将会不断增长。嵌入式 Standard Widget Toolkit (eSWT) Mobile Extension 是一种 Eclipse 技术,可以用于为各种移动电话开发具有桌面应用程序外观的 Java 应用程序。
本系列的 eSWT 移动扩展简介,第 1 部分:使用简单小部件快速构建移动应用程序 “使用简单小部件快速构建移动应用程序” 对移动扩展包作了概述。它还描述了一些基本控件(CaptionedControl、ConstrainedText、DateEditor、ListBox 和 ListView)。
在本文中,学习如何使用:
MobileShell 显示全屏的移动应用程序。
SortedList 获得一个经排序的列表,该列表具有一个过滤器,用于过滤无用的信息。
HyperLink 作为根据设备类型启动本地应用程序的一种方式。
TextExtension 作为设置输入文本类型的一种方式。
TaskTip 向用户提示应用程序的当前状态。
MobileShell
与典型的 shell 不同,MobileShell 支持一种特殊的屏幕模式,这种模式使用整个设备屏幕空间,而不是通常模式下的应用程序空间。MobileShell 特别适合于需要在运行时动态裁剪屏幕的设备。应用程序可以调用 setFullScreenMode(boolean) 方法在运行时在常规模式与全屏模式之间切换。该特性常用于媒体播放器和 Web 浏览器之类的应用程序,这些应用程序可以请求全屏模式,以取得更好的显示效果。
注意,MobileShell 不支持 Windows Mobile 上的状态样式。
如果创建 MobileShell,并附加一个命令按钮,那么在调用 setFullScreenMode(true) 之后,它将变成全屏模式,在屏幕底端有一个菜单栏。清单 1 显示创建 MobileShell 的代码示例。
清单 1. 创建 MobileShell
display = parent.getDisplay();
mobileshell = new MobileShell(display,SWT.RESIZE);
button= new Button(mobileshell, SWT.PUSH|SWT.BORDER);
button.setBounds(0, 0, 200, 200);
button.setText("FullScreen Mode");
button.addSelectionListener(new SelectionListener(){
public void widgetSelected(SelectionEvent e) {
if(!isFullScreen){
mobileshell.setFullScreenMode(true);
button.setText("Normal mode");
isFullScreen = true;
}else{
mobileshell.setFullScreenMode(false);
button.setText("FullScreen Mode");
isFullScreen = false;
}
}
public void widgetDefaultSelected(SelectionEvent e) {
}});
mobileshell.open();