我在水平字段管理器中使用四个按钮,每个按钮的宽度为屏幕宽度的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);`
答案 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/How-to-Extend-Manager/ta-p/446749
但是在这种情况下,我想我建议你只使用一个你可以从这篇KB文章中窃取的HorizontalFieldManage,再次在BB网站上: