1

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

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

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

2 回答 2

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);
    }
};

希望这会帮助你。

于 2011-03-29T11:11:51.000 回答
1

看看将列表字段放在MainScreen中。然后您可以将标题设置为 MainScreen 的标题。

于 2011-03-28T17:51:34.987 回答