MIDP2.0對於觸摸屏方法有三個:
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;
}
}