你如何限制ListField的整体高度?

时间:2011-03-28 16:30:26

标签: user-interface blackberry listfield

我正在尝试限制ListField的高度,这样当您在项目中移动时,不会向下移动屏幕,而只是向下移动到框内。因此,例如,屏幕上的标题不会消失。

我目前的解决方案不起作用。高度不会改变。它仍然保持在对象列表的任何大小。我正在使用的代码是:

_listField = new ListField()
    {
        protected void layout(int w, int h)
        {
            super.layout(w, 100);
        }
    };

2 个答案:

答案 0 :(得分:2)

你可以这样做。在MainScreen构造函数中添加

super(NO_VERTICAL_SCROLL);

所以你的主屏幕不会滚动。

创建启用了垂直滚动的新管理器,因此只有管理器可以像

一样滚动
VerticalFieldManager listManager = new VerticalFieldManager(VERTICAL_SCROLL | VERTICAL_SCROLLBAR); 

现在将您的组件添加到此经理,将您的ListField称为

listManager.add(your listfield object);

如果要限制listField的高度,则可以将限制设置为listManger并将listfield添加到manager。所以列表将是这样的马槽的给定高度的布局

VerticalFieldManager listManager = new VerticalFieldManager(VERTICAL_SCROLL | VERTICAL_SCROLLBAR); 
{
    protected void sublayout( int maxWidth, int maxHeight )
    {
         int width = Display.getWidth();
         int height = 100;
         super.sublayout( width, height);
         setExtent( width, height);
    }
};

希望这会对你有所帮助。

答案 1 :(得分:1)

看一下将列表字段放在MainScreen内。然后,您可以将标题设置为主屏幕的标题。