【分享】BlackBerry触摸屏设备编程(一)
一 触摸屏幕设计需要注意的地方
开发用于带触摸屏的 BlackBerry? 设备的应用程序时,您应考虑这些设备的以下 UI 功能:
? 触摸屏
? 屏幕方位的重要性
? 触摸屏键盘
? 加速度计(一些带触摸屏的 BlackBerry 设备上)
关于这些项目的具体内容和细节,可以参考blackberry的编程白皮书:BlackBerry Java Application
Transitioning to Touch Screen Development.
二 触摸屏幕的具体编程和设计的要求
随着触摸屏幕手机的引入,BlackBerry也加入了相应API的支持:
net.rim.device.api.ui.Touchscreen
这个类的作用就是系统用来判别当前手机是否是触屏的utility类别,所以一个比较通用的java程序的做法就是在程序入口中加入这样的逻辑判断:
if(Touchscreen.isSupported())
{
/* Touch screen logic */
}
else
{
UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run()
{
Dialog.alert("This application requires a touch screen device.");
System.exit(0);
}
});
}
在JDE5.0的示例程序中,有一个例子touchdemo,有关于这个工具类的具体使用方法,可以参考相应的代理例子在做一个通用的blackberry客户端程序。
触屏手机的引入,可以加入对屏幕的方向的变化,这个在原有的全键盘手机中是没有的,所以在触摸屏幕手机开发应用过程中,需要加入相应的响应的逻辑.
有两种方式可以用来对屏幕的方位进行控制和调整,第一种方式是在screen的sublayout方法中。
public void sublayout(int width, int height)
{
//update scrren layout based on orientation
if(Display.getOrientation()== Display.ORIENTATION_LANDSCAPE)
{
invalidate();
}
else if(Display.getOrientation()== Display.ORIENTATION_PORTRAIT)
{
invalidate();
}
super.sublayout(width, height);
}
还有一种方式是在应用中显式调用屏幕的方位信息,然后做出调整:
switch(Display.getOrientation())
{
case Display.ORIENTATION_LANDSCAPE:
Dialog.alert("Screen orientation is landscape"); break;
case Display.ORIENTATION_PORTRAIT:
Dialog.alert("Screen orientation is portrait"); break;
case Display.ORIENTATION_SQUARE:
Dialog.alert("Screen orientation is square"); break;
default:
Dialog.alert("Screen orientation is not known"); break;
}
除了对屏幕方位也就是重力切换的处理,在触摸屏幕编程中,需要考虑UI事件的处理和全键盘手机的不同,关于这部分的具体处理,可以参考下面部分的示例以及后续的内容介绍。
本文分享自:http://blog.csdn.net/salvatore_zhang/archive/2010/08/04/5789185.aspx
[解决办法]
触摸屏幕设计需要注意的地方
[解决办法]
这个真的不错
[解决办法]
像楼主学习,。。
[解决办法]
最近也开始接触这方面的东西,不错啊!
[解决办法]
顶起来,很好的文章。