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