【问题标题】:Unable to layout all buttonfield in blackberry?无法在黑莓中布局所有按钮域?
【发布时间】:2013-09-13 10:58:54
【问题描述】:

我在水平字段管理器中使用了四个按钮,每个按钮的宽度都是屏幕宽度的 1/4,但屏幕上仍然只显示 3 个按钮? 我正在为 Eclipse 使用 blackberry 9900 模拟器和 blackberry 插件。

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

【问题讨论】:

    标签: java eclipse blackberry


    【解决方案1】:

    使用 Display.getWidth()/4 假定您要添加它的 Manager 具有屏幕的整个宽度。实际上可用的宽度将取决于它被添加到的 Manager 分配的内容(受其 Manager 限制,依此类推,直到您返回屏幕)。

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

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

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

    但是如果你真的想管理字段的大小,你应该在它被添加到的 Manager 的 sublayout 方法中实际做到这一点。因此,实现这种大小和位置的最佳方法是创建您自己的 Manager 并自行布局 - 为此,您可以查看 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

    但是在这种情况下,我认为我建议您只使用可以从这篇知识库文章中窃取的 Horizo​​ntalFieldManagers,同样在 BB 网站上:

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

    【讨论】:

    • 是的,谢谢您的回复,但是如果我没有设置边距,那么它仍然没有以正确的方式布置按钮,如果有四个按钮字段并且我将它们分配为屏幕宽度的 1/4所有 4 个必须可见且大小相同,但不会发生相同的情况。
    • “如果有四个按钮字段并且我将它们分配为屏幕的 1/4 宽度” - 不一定,如上所述,您假设要添加它的 Manager 具有完整宽度的屏幕。您是否尝试过使用我指出的示例中的管理器,或者查看用于了解如何布局此类内容的代码?
    猜你喜欢
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多