我需要更改ButtonField的大小。它位于一个VerticalFieldManager内,它是MainPage中唯一的VFM。设置ButtonField的高度
我已经成功地改变了它的宽度(覆盖setPreferredWidth()就足够了)。不过,我在更改高度时遇到问题。
直到现在,我重写了setPreferredHeight(),它没有做任何事情。我试着重写布局像这样(试行评论的所有排列):
protected void layout(int arg0, int arg1)
{
//super.layout(myDesiredWidth, myDesiredHeight);
//setExtent(myDesiredWidth, myDesiredHeight);
}
我自己也尝试了经理(衡工量值式)的覆盖sublayout这样的:
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并且增加了工作高度,但是减少了工作。无论如何,我搜索了很多,我找不到明确的答案,我想我必须创建自己的自定义字段并从头开始实施绘图方法。
在你的情况,除了按钮本身,你什么都没有。在我的情况下,我有这些:MainPage - > VMF - > HFM,Button,HFM,HFM。当我重写layout()并使用setExtent()时,其虚拟机无法正确设置布局。 – mostruash 2012-02-27 21:04:29
Somany VFM或HFM无关紧要,如果您想对特定的labelField,buttonField,HFM或任何字段执行某些操作,那么您应该使用它们的覆盖方法;然后仅适用于特定字段; – alishaik786 2012-02-28 04:11:52