读书人

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

发布时间: 2013-01-26 13:47:04 作者: rapoo

【连载】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,收藏学习。。顶!!!
[解决办法]
很好很强大
[解决办法]
很好很强大

读书人网 >BlackBerry

热点推荐