无法布局黑莓中的所有按钮区域?

时间:2013-09-12 13:06:49

标签: java eclipse blackberry

我在水平字段管理器中使用四个按钮,每个按钮的宽度为屏幕宽度的1/4,屏幕上只显示3个按钮? 我正在使用黑莓9900模拟器和黑莓插件进行日食。

    HorizontalFieldManager hm_btn_family = new HorizontalFieldManager();
    hm_btn_family.setMargin(10, 0, 0, 16);
    add(hm_btn_family);

    family = new Custom_buttonfield("Family", (Display.getWidth()/4), 40);
    family.setFont(font);
    hm_btn_family.add(family);

    friend = new Custom_buttonfield("Friends", (Display.getWidth()/4), 40);
    friend.setFont(font);
    hm_btn_family.add(friend);


    others = new Custom_buttonfield("Others", (Display.getWidth()/4), 40);
    others.setFont(font);
    hm_btn_family.add(others);

    calllist = new Custom_buttonfield("Call List", (Display.getWidth()/4), 40);
    calllist.setFont(font);
    hm_btn_family.add(calllist);`

1 个答案:

答案 0 :(得分:1)

使用Display.getWidth()/ 4假设您要将其添加到的Manager具有Screen的全宽。事实上可用的宽度将取决于它被添加到的管理器分配的内容(受其管理器等限制,直到您返回到屏幕)。

它还受到管理器属性的限制,特别是您为管理员提供的任何边距或填充。在这种情况下,当您执行以下操作时,您可以将管理器“缩进”左边16个像素:

hm_btn_family.setMargin(10,0,0,16)

所以看起来按钮的最大宽度可能是Display.getWidth()/ 4 - 4.

但是如果你真的想管理Fields的大小,你应该在它被添加到的Manager的sublayout方法中实际执行。因此,实现这种大小和位置的最佳方法是创建自己的管理器并自行铺设 - 为此您可以在BB站点上查看以下知识库文章:

http://supportforums.blackberry.com/t5/Java-Development/Create-a-custom-layout-manager-for-a-screen/ta-p/442990

http://supportforums.blackberry.com/t5/Java-Development/How-to-Extend-Manager/ta-p/446749

但是在这种情况下,我想我建议你只使用一个你可以从这篇KB文章中窃取的Horizo​​ntalFieldManage,再次在BB网站上:

http://supportforums.blackberry.com/t5/Java-Development/Implement-advanced-buttons-fields-and-managers/ta-p/488276