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

blackberry触摸屏设备编程(二)

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

 

【分享】BlackBerry触摸屏设备编程(二)
三 一个触摸屏幕应用界面的例子

 

本章以一个定制的黑莓UI展示程序为例,说明黑莓编程中需要注意的各个方面,通过一个可以定制的个性化的toolbar的实现以及黑莓应用的背景的切换,来说明触摸屏幕编程和普通全键盘手机编制程序的区别。

 

黑莓标准的UI组件里面是没有toolbar的,这里要设计一个toolbar,可以考虑标准UI组件的扩展,这里我们让toolbar继承自HorizontalFieldManager.

基本的toolbar的特性包括排列的方向和toolbar的高宽等等以及组件的排列性质。这些都是可以配置的,如果要做到一个比较灵活的设计,这里我们写死。

 

//public class ToolBarField extends HorizontalFieldManager

public class ToolBarField extends HorizontalFieldManager

{

    //private static final int DefaultButtonHeight = 55;

    //private static final int DefaultButtonWidth = 55;

    private static final int DefaultButtonHeight = 129;

    private static final int DefaultButtonWidth = 129;

  

    private Vector leftJustifiedButtons = new Vector();

    private Vector rightJustifiedButtons = new Vector();

    private int preferredHeight = DefaultButtonHeight;

    private int sideMargin = 3;

    private int buttonSpacing = 2;  

    private int preferredWidth = Display.getWidth();

    private Bitmap bg = null;

 

    ……

}

 

在toolbarfield类的设计中,核心的部分在于

    private Vector leftJustifiedButtons = new Vector();

    private Vector rightJustifiedButtons = new Vector();

这两个是为了放置用户加入扩种的具体field组件,这里使用的是标准的vector元素,可以添加也可以删除组件,这里我们简单起见,只实现添加的接口,如下面的addbutton方法所示:

 

    public void addButton(ToolBarButtonField button, boolean leftJustified)

    {

        super.add(button);

       

        if (button.getPreferredHeight() > preferredHeight)

            preferredHeight = button.getPreferredHeight();

      

        if (leftJustified)

        {

            leftJustifiedButtons.addElement(button);

        }

        else

        {

            rightJustifiedButtons.addElement(button);

        }

}

 

为了实现更加可供定制化的效果,可以扩充Horizontalmanager的subpaint方法,添加部分背景处理的能力:

 

    protected void subpaint(Graphics graphics)

    {      

        if (bg != null)

        {

            for (int x = 0; x < Display.getWidth();)
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

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