Chinaunix首页 | 论坛 | 博客
  • 博客访问: 226779
  • 博文数量: 45
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 915
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-18 16:03
文章分类

全部博文(45)

文章存档

2011年(1)

2008年(44)

我的朋友

分类: Java

2008-08-29 21:16:53

在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;
        }
    }

阅读(1705) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~