使用J2ME技術(shù)實(shí)現(xiàn)手機(jī)觸摸屏開發(fā)的方法
在WTK目錄下的WTK22wtklibdevicesDefaultColorPhoneDefaultColorPhone.properties的文件中有一行touch_screen=false,把它改成true。
MIDP2.0對(duì)于觸摸屏方法有三個(gè):
1.pointerDragged(int x, int y) 觸摸屏拖拽事件(暫時(shí)還沒研究)
2.pointerPressed(int x, int y) 觸摸屏按壓
3.pointerReleased(int x, int y) 觸摸屏釋放
pointerPressed(int x, int y)當(dāng)用戶按下觸摸屏的時(shí)候會(huì)自動(dòng)調(diào)用這個(gè)方法x,y就是當(dāng)前壓下的坐標(biāo)
pointerReleased(int x, int y)和pointerPressed(int x, int y)類似相應(yīng)觸摸屏釋放事件
這里,我只是以相應(yīng)左右軟鍵及菜單事件處理為例:
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的區(qū)域
if (x 40 y >(screenHeight - 20)) {
doCommandLeft();
}
if (x >(screenWidth - 40) y >(screenHeight - 20)) {
doCommandRight();
}
break;
}
}
評(píng)論