BlackBerryUI设计大全(四)

本文介绍了如何使用LWUIT和BlackBerry原生UI组件设计九宫格程序。首先通过LWUIT实现九宫格界面,并讲解了其布局及按钮设置等细节。接着对比了BlackBerry原生UI组件的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2基于Third partyUI库的设计

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

2.1 基于LWUITUI库的设计规范

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

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

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

具体步骤如下:

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

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

3.创建9Form继承自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-partyUI library,也是为了突出BlackBerry自己的UI Library的效果,在KVM平台上的应用UI设计,BlackBerryUI Library是独树一帜的。

3基于BlackBerryUI组件的设计

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值