Blackberry工作经验---创建toolbar

本文详细介绍了如何通过设置屏幕管理器属性和创建自定义管理器来实现在特定大小下滚动的功能,同时提供了创建固定尺寸垂直管理器的代码示例,并说明了如何将自定义管理器应用于屏幕和工具栏的布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

怎么实现固定的field呢?很简单,如下:

     1. 把screen的manager设置成Manager.NO_VERTICAL_SCROLL,我创建了一个basescreen,构造函数中首先调用

          super(DEFAULT_MENU | DEFAULT_CLOSE | Manager.NO_VERTICAL_SCROLL);

     2. 创建一个固定尺寸的manager,使其是该screen的一个成员,protected SizedVerticalFieldManager vManager = null;,

该manager必须是VERTICAL_SCROLL| VERTICAL_SCROLLBAR ,然后所有东西放这个manager里面。

        public class SizedVerticalFieldManager extends VerticalFieldManager{
    
    protected int width = 0;
    protected int height = 0;
    
    public SizedVerticalFieldManager(int width, int height){
        super();
        this.width = width;
        this.height = height;
    }
    
    public SizedVerticalFieldManager(int width, int height, long style){
        super(style);
        this.width = width;
        this.height = height;
    }

    public void SetSize(int width, int height){
        this.width = width;
        this.height = height;
        invalidate();
    }
    
    public void SetWidth(int width){
        this.width = width;
        invalidate();
    }
    
    public void setHeight(int height){
        if(height > 0)
        {
            this.height = height;
            setExtent(getPreferredWidth(), getPreferredHeight());
        }
    }
    
    protected void sublayout(int maxWidth, int maxHeight) {
        // TODO Auto-generated method stub
        super.sublayout(maxWidth, maxHeight);
        this.setExtent(this.getPreferredWidth(), this.getPreferredHeight());    
    }

    public int getPreferredHeight() {
        // TODO Auto-generated method stub
        return height == 0 ? super.getPreferredHeight() : height;
    }

    public int getPreferredWidth() {
        // TODO Auto-generated method stub
        return width == 0 ? super.getPreferredWidth() : width;
    }
}

最后,可以创建你喜欢的toolbar,实际就是自定义一个HorizontalFieldManager,怎么定义根据自己喜好。添加到screen里面就ok了。如果toolbar放顶端,可以设置好toolbar的尺寸,然后剩余高度就留给你上面的manager吧。至于add的顺序就决定了你的toolbar的位置,不过要计算好尺寸哦。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值