将按钮区域设置为右侧和底侧(黑莓)

时间:2011-08-08 12:41:11

标签: blackberry

我希望我的按钮位于右侧和底侧。怎么可能?请帮我。我下面的代码只显示右侧但不是底部的按钮。

ButtonField b = new ButtonField("button", Field.FIELD_RIGHT | FIELD_BOTTOM);
VerticalFieldManager vf = new VerticalFieldManager(Field.USE_ALL_WIDTH);
vf.add(b);
add(vf);

2 个答案:

答案 0 :(得分:2)

默认情况下,VerticalFieldManager仅使用显示其所有子项所需的最小垂直空间量。因此,您的按钮显示在经理的底部,但经理只有您的按钮一样高。此外,VerticalFieldManager用于自上而下显示。尝试这样的事情:

HorizontalFieldManager hfm = new HorizontalFieldManager(USE_ALL_HEIGHT | USE_ALL_WIDTH);
VerticalFieldManager vfm = new VerticalFieldManager(USE_ALL_WIDTH | FIELD_BOTTOM);
ButtonField b = new ButtonField("Button", Field.FIELD_RIGHT);
vfm.add(b);
hfm.add(vfm);
add(hfm);

答案 1 :(得分:1)

感谢所有人。但我得到了答案。

HorizontalFieldManager hfm = new HorizontalFieldManager(USE_ALL_HEIGHT | USE_ALL_WIDTH) {
    public int getPreferredWidth() {
        return Display.getWidth();
    }

    public int getPreferredHeight() {
        return Display.getHeight();
    }

    protected void sublayout(int maxWidth, int maxHeight) {
        int displayWidth = Display.getWidth();
        int displayHeight = Display.getHeight();

        super.sublayout(displayWidth, displayHeight);
        setExtent( Math.min( Display.getWidth(), getPreferredWidth() ),
                Math.min( Display.getHeight(), getPreferredHeight() ) );
    }
};

VerticalFieldManager vfm = new VerticalFieldManager(USE_ALL_WIDTH | FIELD_RIGHT);
ButtonField b = new ButtonField("Button", Field.FIELD_RIGHT);
vfm.add(b);
hfm.add(vfm);
add(vfm);

这对我来说是完美的工作。