在WTK目录下的/WTK22/wtklib/devices/DefaultColorPhone/DefaultColorPhone.properties
的文件中有一行touch_screen=false,把它改成true就可以了
MIDP2.0对于触摸屏方法有3个
1.pointerDragged (int x, int y) 触摸屏拖拽事件(暂时还没研究)
2.pointerPressed (int x, int y) 触摸屏按压
3.pointerReleased (int x, int y) 触摸屏释放
pointerPressed (int x, int y)当用户按下触摸屏的时候会自动调用这个方法x,y就是当前压下的坐标
pointerReleased (int x, int y)和pointerPressed (int x, int y)类似相应触摸屏释放事件
这里,我只是以相应左右软键及菜单事件处理为例:
protected void pointerPressed(int x, int y) {
switch (status) {
case Consts.S_MENU:
int menuWidth = 90;
int menuItemHeight = 17;
int menuBarHeight = 16;
int menuNum = 10;
if (x < menuWidth
&& y > (screenHeight - (menuItemHeight * menuNum + menuBarHeight))) {
int menuIndex = (y - (screenHeight - (menuItemHeight * menuNum + menuBarHeight)))
/ menuItemHeight;
doMenuOK(menuIndex);
}
case Consts.S_DRAW_DIBIAO_LIST:
case Consts.S_LOCAL_SEARCH_RESULT:
case Consts.S_MAP_VIEW:
// 左右软键40*20的区域
if (x < 40 && y > (screenHeight - 20)) {
doCommandLeft();
}
if (x > (screenWidth - 40) && y > (screenHeight - 20)) {
doCommandRight();
}
break;
}
}
本文介绍如何在MIDP2.0环境下启用触摸屏支持,并详细解析了触摸屏事件处理方法,包括pointerPressed、pointerReleased等,通过实例展示了如何响应触摸屏上的软键点击。

334

被折叠的 条评论
为什么被折叠?



