欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

【连载】blackberryui设计大全(2)

更新时间: 2014-01-05 02:42:02 责任编辑: Author_N1

 

【连载】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被版主删除
--参考方法--
引用:
明明是j2me嘛


黑莓用的就是java。


--参考方法--
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:42:02
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/13308/
本文WWW.DOC100.NET DOC100.NET版权所有。