论坛首页 移动开发技术论坛

让你的Popubscreen显示菜单

浏览 4499 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-10-10   最后修改:2009-10-13

以下内容Sinfrancis版权所有,专注请注明来自  http://mdev.cc/dev


class MyPopup extends PopupScreen {

    MyPopup() {
        super(new VerticalFieldManager(), DEFAULT_MENU | DEFAULT_CLOSE);
    }

    public void makeMenu(Menu menu, int instance) {
        if (instance == Menu.INSTANCE_DEFAULT) {
            menu.add(_myItem);
        }
        super.makeMenu(menu, instance);
    }
    protected MenuItem _myItem = new MenuItem("My Item", 100, 10) {

        public void run() { // do something here } };
        }
    }
}
 

 

以下是先显示Context Menu 然后才会显示Menu

 

import net.rim.device.api.ui.Keypad;
import net.rim.device.api.ui.MenuItem;
import net.rim.device.api.ui.component.Menu;
import net.rim.device.api.ui.container.PopupScreen;
import net.rim.device.api.ui.container.VerticalFieldManager;

class MyPopup extends PopupScreen {
    MyPopup() {
        super(new VerticalFieldManager(), DEFAULT_MENU | DEFAULT_CLOSE);//设置整个Style,显示出默认的Menu
    }
    
    public void makeMenu(Menu menu, int instance) {
        if (instance == Menu.INSTANCE_DEFAULT) {
            menu.add(_myItem);
        }
        if (instance == Menu.INSTANCE_CONTEXT) {//接收context Menu信息
            menu.add(_myContextItem);
        }
        super.makeMenu(menu, instance);
    }
    protected MenuItem _myItem = new MenuItem("My Item", 100, 10) {
        public void run() { // do something here } };
        }
    };
    
    protected MenuItem _myContextItem = new MenuItem("My Context Item", 100, 10) {
        public void run() { // do something here } };
        }
    };
    protected boolean keyChar(char c, int status, int time) {
    	
    	if(c==Keypad.KEY_ESCAPE){
    		close();
    	}
    	
    	return super.keyChar(c, status, time);
    }
}
 

 

   发表时间:2009-10-12  
呵呵,这么久终于发现有人发黑莓的经验教程,不顶不行
回去试验一下能不能成
0 请登录后投票
   发表时间:2009-10-12  
是可以成功的,这个是在9500平台上作的
0 请登录后投票
   发表时间:2009-10-12  
请问Menu.INSTANCE_DEFAULT 表示默认菜单,
那INSTANCE_CONTEXT和INSTANCE_CONTEXT_SELECTION分别代表什么情况下的菜单呢?
和默认菜单有什么关联?
0 请登录后投票
   发表时间:2009-10-13   最后修改:2009-10-13
INSTANCE_CONTEXT 要先于INSTANCE_DEFAULT 接受到消息,所以INSTANCE_CONTEXT 会先显示,显示Context Menu 后,点击 “Full menu”就会触发 INSTANCE_DEFAULT 这个消息。


INSTANCE_CONTEXT_SELECTION这个我没有试过。

INSTANCE_CONTEXT 我认为应该来自于内部的组件。

代码我更改了,你可以再看看。
0 请登录后投票
   发表时间:2009-10-13  
非常感谢,他们两个原来是不同的菜单
0 请登录后投票
   发表时间:2009-11-24  
BB手机爱好者飘过,中国的BB开发者实在是太少了,我也在学习着写过些BB的程序,都不太好,   我很喜欢黑莓,而且一直在用  现在手上的是8120···  JE上应该多多推广下 这个板块啊   这么少的人! 怎么交流技术啊?
0 请登录后投票
   发表时间:2009-11-25  
如果想学BB,最好的官方网站上面去,不过英文资料很多。
0 请登录后投票
   发表时间:2009-11-26  
英文读起来比较费劲,但是没法子,谁让BB的SDK不吸引人呢,官方文档其实比较全面了,就是找起来比较麻烦,论坛内容比较多,基本能找到想要的功能。
开发第一个程序费了老大的劲
0 请登录后投票
   发表时间:2009-11-27  
BB的SDK比Android 要简单的多,而且学习起来很快的,API也很简洁,不过在做UI的时候,系统自己的UI不能够满足的,只有自己去进行开发了。
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics