【连载】BlackBerryUI设计大全(二)
1 基于MIDP的UI设计
上面的图是整个MIDP中的LCDUI包的组成结构,这个包包括完整的MIDLP高级和低级UI库。
1.1MIDP高级UI
我们在这一节要介绍LCDUI库的具体组成类图。Screen类系属于高级图形用户界面组件,Canvas是低级图形用户界面组件,在同一时刻,只能有唯一一个Screen或者Canvas类的子类显示在屏幕上。
使用高级界面,但是九宫格这样的屏幕铺放应用的实现是想不到好的办法,本身没有合适的控件可以完成这个任务。一种可能的办法是通过定制高级UI组件里面的元素,比如CustomItem, 用他来绘制定宫格。本例就是使用CustomItem 来实现了一个九宫格效果,效果如下图所示
源代码如下所示:
public class GridItem extends CustomItem {
private Image image;
public MyItem(Image image, String title,int width,int height)
{
this.image = image;
}
public void paint(Graphics g, int w, int h)
{
g.drawImage(this.image, w/2, 0, Graphics.HCENTER | Graphics.TOP);
g.drawString(this.title, w/2, h - g.getFont().getHeight(), Graphics.HCENTER | Graphics.TOP);
}
通过对Form的定制item设置背景图片,找到一个work around的办法,放置我们的九宫格图标,剩下的就是对Form主程序的设置了
Form f = new Form("CustomItem");
int tempWidth = f.getWidth() / 4;
int tempHeight = 60;
for(int i = 0; i < 9;i++)
{
String imgSrc = "/img/" + i + ".png";
try
{
Image img = Image.createImage(imgSrc);
MyItem mi = new MyItem(img,String.valueOf(i) + " item",tempWidth,tempHeight);
mi.setLayout( Item.LAYOUT_CENTER );
f.append( mi );
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
}
display.setCurrent( f );
转自:http://topic.csdn.net/u/20100716/09/3db087b7-2cab-4b90-bae8-0ec1f4651143.html?82180
[解决办法]
该回复于2010-08-10 16:50:34被版主删除
[解决办法]
该回复于2010-08-10 16:45:51被版主删除
[解决办法]
不错,看看了!
[解决办法]
明明是j2me嘛
[解决办法]
该回复于2010-08-11 15:00:21被版主删除
[解决办法]
黑莓用的就是java。
------解决方案--------------------
跟着学习中。对BB不熟
[解决办法]
该回复于2010-08-12 10:43:40被版主删除
[解决办法]
不错,有点意思
[解决办法]
正使用BB中,先看看
[解决办法]
黑莓不错啊。
[解决办法]
好厉害 狂顶
[解决办法]
哦,我错了
[解决办法]
谢谢楼主
[解决办法]
该回复于2010-08-13 16:36:05被版主删除
[解决办法]
该回复于2010-08-13 17:34:59被版主删除
[解决办法]
先看看,谢了!
[解决办法]
该回复于2010-08-13 17:01:53被版主删除
[解决办法]
辛苦了,谢谢~~
[解决办法]
借用一下
[解决办法]
正使用BB,学习学习
[解决办法]
该回复于2010-08-16 15:10:31被版主删除
[解决办法]
有分可接
[解决办法]
learning !! thanks very much!
[解决办法]
不断学习,不断回帖
[解决办法]
看不懂,学习需要qxdm就是下载不了,有哪位大人给我一个philipsjxd@gmail.com,谢谢啊
[解决办法]
该回复于2010-10-18 14:27:08被版主删除
[解决办法]
该回复于2010-10-18 10:30:30被版主删除
[解决办法]
正接触BB
[解决办法]
该回复于2010-11-17 15:46:47被版主删除
[解决办法]
黑莓支持标准的J2ME,但是也有自己的UI框架。
但是J2ME UI API和 黑莓的UI API只能二选一
[解决办法]
嗯,不错,谢谢楼主
[解决办法]
使用黑莓 感兴趣 可惜是做.net的
[解决办法]
说的不错