【发布时间】:2012-02-27 12:04:21
【问题描述】:
我需要更改 ButtonField 的大小。它位于一个 VerticalFieldManager 中,它是 MainPage 中唯一的 VFM。
我已经成功地改变了它的宽度(重写 setPreferredWidth() 就足够了)。但是我在改变它的高度时遇到了麻烦。
直到现在,我覆盖了 setPreferredHeight() 并且它没有做任何事情。我尝试过像这样覆盖布局(尝试了注释行的所有排列):
protected void layout(int arg0, int arg1)
{
//super.layout(myDesiredWidth, myDesiredHeight);
//setExtent(myDesiredWidth, myDesiredHeight);
}
我也尝试过像这样覆盖其管理器(vfm)的子布局:
protected void sublayout(int arg0, int arg1)
{
super.sublayout(arg0, arg1);
ButtonField myButton = (ButtonField)getField(1);
layoutChild(myButton,myDesiredWidth,myDesiredHeight);
}
没有用。我仍然不确定这些布局和子布局方法如何在后台工作,但我确信有人需要在我之前更改按钮的大小。
编辑:我会更具体。我正在使用 BB JRE 6.0 并覆盖 getPreferredHeight() 和 layout() 是错误的(改变高度会极大地改变宽度,我的按钮周围的其他字段会丢失它们的文本等)。我尝试了 BB JRE 5.0 并增加高度有效,但减少无效。不管怎样,我用谷歌搜索了很多,但找不到明确的答案,我想我必须创建自己的自定义字段并从头开始实现绘制方法。
【问题讨论】:
标签: blackberry