黑莓布局

时间:2011-11-28 04:57:29

标签: blackberry

我需要将我的应用程序从iPhone移植到黑莓,但我是blckberry的新手。

在我的应用程序中,我有一些带有标签的按钮。我似乎无法通过坐标设置任何视图。我应该使用现场经理(FM)保证。因此,在这种情况下,我需要有垂直FM按钮和它的标签,一些水平FM用于按钮,垂直FM用于按钮的forizo​​ntal FMs (PictureBackgroundButtonField - 是来自customButtonsDemo的类)

VerticalFieldManager vfm = new VerticalFieldManager();
        HorizontalFieldManager hfm1 = new HorizontalFieldManager();
        HorizontalFieldManager hfm2 = new HorizontalFieldManager();
        HorizontalFieldManager hfm3 = new HorizontalFieldManager();

        VerticalFieldManager sho = new VerticalFieldManager();
        shopping = new PictureBackgroundButtonField("HomePage/Home Shoping.png", Field.FOCUSABLE);
        shopping.setChangeListener(this);
        sho.add(shopping);
        sho.add(new RichTextField("Shopping",Field.NON_FOCUSABLE));
        hfm1.add(sho);

        VerticalFieldManager din = new VerticalFieldManager();
        dining = new PictureBackgroundButtonField("HomePage/Home Dinning.png", Field.FOCUSABLE);
        dining.setChangeListener(this);
        din.add(dining);
        din.add(new RichTextField("Dining",Field.NON_FOCUSABLE));
        hfm1.add(din);

        VerticalFieldManager ent = new VerticalFieldManager();
        entertainment = new PictureBackgroundButtonField("HomePage/Home Entertainment.png", Field.FOCUSABLE);
        entertainment.setChangeListener(this);
        ent.add(entertainment);
        ent.add(new RichTextField("Entertainment",Field.NON_FOCUSABLE));
        hfm1.add(ent);

        VerticalFieldManager map = new VerticalFieldManager();
        maps = new PictureBackgroundButtonField("HomePage/Home Maps.png", Field.FOCUSABLE);
        maps.setChangeListener(this);
        map.add(maps);
        map.add(new RichTextField("Maps",Field.NON_FOCUSABLE));
        hfm2.add(map);

        VerticalFieldManager pro = new VerticalFieldManager();
        promotions = new PictureBackgroundButtonField("HomePage/Home Promotions.png", Field.FOCUSABLE);
        promotions.setChangeListener(this);
        pro.add(promotions);
        pro.add(new RichTextField("Promotions",Field.NON_FOCUSABLE));
        hfm2.add(pro);

        VerticalFieldManager par = new VerticalFieldManager();
        parking = new PictureBackgroundButtonField("HomePage/Home Parking.png", Field.FOCUSABLE);
        parking.setChangeListener(this);
        par.add(parking);
        par.add(new RichTextField("Parking",Field.NON_FOCUSABLE));
        hfm2.add(par);

        VerticalFieldManager wha = new VerticalFieldManager();
        whatson = new PictureBackgroundButtonField("HomePage/Home WhatsOn.png", Field.FOCUSABLE);
        whatson.setChangeListener(this);
        wha.add(whatson);
        wha.add(new RichTextField("What's On",Field.NON_FOCUSABLE));
        hfm3.add(wha);

        VerticalFieldManager moe = new VerticalFieldManager();
        moeinfo = new PictureBackgroundButtonField("HomePage/Home MOEinfo.png", Field.FOCUSABLE);
        moeinfo.setChangeListener(this);
        moe.add(moeinfo);
        moe.add(new RichTextField("MOE Info",Field.NON_FOCUSABLE));
        hfm3.add(moe);

        VerticalFieldManager fac = new VerticalFieldManager();
        facebook = new PictureBackgroundButtonField("HomePage/Home Facebook.png", Field.FOCUSABLE);
        facebook.setChangeListener(this);
        fac.add(facebook);
        fac.add(new RichTextField("Facebook",Field.NON_FOCUSABLE));
        hfm3.add(fac);

        vfm.add(hfm1);
        vfm.add(hfm2);
        vfm.add(hfm3);
        add(vfm);

但是每个hfm *中只显示了我的第一个按钮。在哪里?

1 个答案:

答案 0 :(得分:0)

文本字段使用所有水平空格,因此水平字段管理器中的第二个按钮位于屏幕之外。在这种情况下,您需要子类化文本字段以使其大小自定义,或使用其他内容。