首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > BlackBerry >

【连载】BlackBerryUI设计大全(四)解决办法

2013-01-26 
【连载】BlackBerryUI设计大全(四)2基于Third party的UI库的设计直接使用MIDP的UI组件来做应用界面和接口,很

【连载】BlackBerryUI设计大全(四)
2基于Third party的UI库的设计

直接使用MIDP的UI组件来做应用界面和接口,很多时候需要大量的编程和设计工作。为了减轻开发者的负担,J2ME平台上也有很多这样的UI设计支撑库,本节我们一LWUIT这个应用比较广泛的例子为例,说明如果在BlackBerry J2ME平台上使用GUI Library去设计这个九宫格程序。
2.1 基于LWUIT的UI库的设计规范

The Lightweight UI Toolkit (LWUIT) 是一个轻量级JavaME UI工具包。LWUIT类似Swing 的MVC架构, 支持多种布局(Layouts), 皮肤更换, 字体, 触摸屏, 动画效果, Rich控件, 3D集成, Painter, 模式对画框, I18N/L10N等。

  Sun在2008年的JavaOne会议上向开发者社区推荐了LWUIT,展示了预先发布的二进制文件库,附加工具和扩展文档,让开发者可以快速上手,现在Sun把整个源代码都开放出来,更方便开发者利用LUWIT开发JavaME应用。关于LWUIT库的使用,可以从SUN的官方网络拿到基本示例和说明的文档。

九宫格说白了就是几个按钮,摆的整整齐齐。既然是这样就先做个MainForm,采用GridLayout()布局,然后在Form里面做几个按钮,每一个按钮代表一个Form。

具体步骤如下:

1.在MainForm中以GridLayout形式排列九个按钮

2.建立一个BaseForm,添加一个BackCommand

3.创建9个Form继承自BaseForm。

public class MainForm extends Form implements ActionListener {

    public static String currentText;

    Command Option_CMD = new Command("选项", 0);

    Command Exit_CMD = new Command("退出", 1);

    public MainForm() {

    //设置窗体翻转效果

        Transition in = CommonTransitions.createSlide(CommonTransitions.SLIDE_HORIZONTAL, false, 300);

        setTransitionInAnimator(in);

        //设置这个currentText,是为了在点击某个按钮进入某个Form,然后回退时,焦点仍然在这个按钮上

        if (currentText == null) {

            currentText = "我的空间";九宫格说白了就是几个按钮,摆的整整齐齐。既然是这样就先做个MainForm,采用GridLayout()布局,然后在Form里面做几个按钮,每一个按钮代表一个Form。

 

       setLayout(new BorderLayout());

        getTitleComponent().setVisible(false);

        try {

           

            String[] texts = new String[]{

                "menu1",

                "menu2",

                "menu3",

                "menu4",

                "menu5",

                "mene6",

                "menu7",

                "menu8",

                “menu9”};

            /*

           下面是基于LCDUI页面布局的主要框架代码

            */

            Container buttonContainer = new Container(new GridLayout(3, 3));



            for (int i = 0; i < texts.length; i++) {

                Image unsel_img = r2.getImage(imgNames[i] + ".png");

                final Button b = new Button(texts[i], unsel_img);

                //setRolloverIcon当按钮被选中时

                b.setRolloverIcon(r2.getImage(imgNames[i] + "_sel.png"));

                b.setAlignment(Label.CENTER);

                b.setTextPosition(Label.BOTTOM);

                b.setUIID("DemoButton");

                buttonContainer.addComponent(b);

            }

            addComponent(BorderLayout.CENTER, buttonContainer);

            addCommand(Option_CMD);

            addCommand(Exit_CMD);

            addCommandListener(this);

            show();

        } catch (IOException ex) {

            ex.printStackTrace();

        }

    }

    }

    }

}

最后LWUIT实现的效果,和我们基于MIDP高级UI的效果比较相像。这里需要注意是,在BlackBerry上使用第三方jar库的时候,需要把相应的JAR库转成BlackBerry上可以运行的cod文件。

为什么要讨论3rd-party的UI library,也是为了突出BlackBerry自己的UI Library的效果,在KVM平台上的应用UI设计,BlackBerry的UI Library是独树一帜的。
3基于BlackBerry的UI组件的设计

使用过类似LWUIT的布局组件,再使用BlackBerry原生的UI组件来设计UI就会发现这个非常熟悉。

Blackberry的UI组件功能更多,使用更加灵活也更加便捷,关于BlackBerry的UI基本组件的应用介绍,可以参阅BlackBerry基本UI设计

了解基本UI的设计方法之后,通过BlackBerry的UI布局组件,可以设置铺放UI组件到BlackBerry屏幕的效果,可以得到一个完成的基于BlackBerry UI组件和屏幕布局实现的九宫格程序的介绍。这里就不详细叙述了。


本文来自:http://blog.csdn.net/salvatore_zhang/archive/2010/08/05/5791054.aspx
[解决办法]
太感谢楼主分享了。顶一个!
[解决办法]
很好很强大 先收藏了
[解决办法]
很好啊。真的很强大,收草
[解决办法]
谢谢LZ,收藏学习。。顶!!!
[解决办法]
谢谢LZ,收藏学习。。顶!!!
[解决办法]
Z,收藏学习。。顶!!!
[解决办法]
我想学习FORTRAN 谢谢大家的斑竹

[解决办法]
我也正在看黑莓的材料呢,lz的资料很好啊
------解决方案--------------------


对这个没兴趣~!
[解决办法]
值得学习~~
[解决办法]
值得学习~~
[解决办法]
值得学习~~
[解决办法]
学习了!!!!!!!!!!
[解决办法]
Z,收藏学习。。顶!!!
[解决办法]
好,真有用啊 
[解决办法]
学习了
[解决办法]
黑莓开发~ ... 想说爱你不容易.
[解决办法]
收藏学习。。顶!!!
[解决办法]
没用过这方面的。。
[解决办法]
论坛不好使了..
[解决办法]
收藏学习。。顶!!!
[解决办法]
活到老学到老  收藏一个
[解决办法]
好  非常好
[解决办法]
   好~~!
[解决办法]
强大干活呢后果由国家也很高分
[解决办法]
谢谢LZ,收藏学习。。顶!!!
[解决办法]
呵呵vdfv 地方隔热
[解决办法]
henhaoa,bucuo
[解决办法]
很好,哼强大的
[解决办法]
漂亮啊1!!!我喜欢

[解决办法]
拿过来看看啊,希望能用到
[解决办法]
路过那分数的
[解决办法]
好东西
[解决办法]
不错!
[解决办法]
看不懂。。。。。。。。。。。。。。。。。。。。。。。
[解决办法]
学习!
[解决办法]
不错呀
[解决办法]
谢谢LZ,收藏学习。。顶!!!
[解决办法]
很好很强大
[解决办法]
很好很强大

热点排行