开发者

Placement of ButtonField

i want to place the Buttons as displayed in the image:

alt text http://www.freeimagehosting.net/uploads/413b8990b3.png

for this i am using the following code but it is not working for me can any one please help me out

 topbarManager = new HorizontalFieldManager(); 

    topbarLeftManager = new HorizontalFieldManager(Field.FIELD_LEFT);
    topbarRightManager = new HorizontalFieldManager(Field.FIELD_RIGHT);
    topbarCenterManager = new HorizontalFieldManager(Field.FIELD_HCENTER);
    topbarLeftManager.add(new ButtonField("first"));
    topbarRightManager.add(new ButtonField("second"));
    topbarCenterManager.add(new ButtonField("third"));
    topbarMana开发者_运维百科ger.add(topbarLeftManager);
    topbarManager.add(topbarCenterManager);
    topbarManager.add(topbarRightManager);

i am not getting the result as i required.

can any one please Help me out.

Thanks a lot


according to docs.

HorizontalFieldManager layout manager arranges UI components in a single horizontal row starting at the left side of the screen and ending at the right side of the screen. Because this layout manager arranges UI components horizontally, you cannot apply horizontal style bits to UI components (for example, Field.FIELD_LEFT, Field.FIELD_HCENTER, or Field.FIELD_RIGHT). You can apply vertical style bits (for example, Field.FIELD_TOP, Field.FIELD_BOTTOM, or Field.FIELD_VCENTER).

so if you want to see Field.FIELD_LEFT effect use

VerticalFieldManager hfm = new VerticalFieldManager(Manager.USE_ALL_WIDTH);

instead of HorizontalFieldManager, you will see the stair case like effect.

To layout UI best thing is use custom layout

HorizontalFieldManager hfm = new HorizontalFieldManager(Manager.USE_ALL_WIDTH){
            protected void sublayout(int maxWidth, int maxHeight) {
                Field f;
                int w = Display.getWidth();
                int x=0;
                for (int i = 0; i < getFieldCount(); i++) {
                    f = getField(i);
                    layoutChild(f, f.getPreferredWidth(), f.getPreferredHeight());
                    setPositionChild(f, x, 0);
                    x+=(w-f.getWidth())/2;
                }


                setExtent(maxWidth, maxHeight);

            }
        };
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜