2014-04-03 108 views
1

我试图创建在黑莓应用程序的一个HorizontalFieldManager,我想场被左对齐,这是HFM的默认布局,但后来我想显示对准一个BitmapField权,setMargin(0, 0, 0, Display.getWidth() - bitmap.getWidth())直到我添加其他字段工作正常在经理的任何想法,请获取屏幕剩余宽度

回答

1

这是一个有点哈克,正常的孩子是谁定义父管理者内部排列的那些..

您创建一个使用所有可用的宽度HFM:

HorizontalFieldManager hfm = new HorizontalFieldManager(Field.USE_ALL_WIDTH); 

然后添加对齐到左的字段(或经理):

hfm.add(new LabelField("Left", Field.FIELD_LEFT)); 

然后添加你必须右对齐的字段。我在这里使用的标签,但每类扩展字段(包括管理人员)有一个构造函数接受标志作为参数:

hfm.add(new LabelField("Right", DrawStyle.RIGHT | Field.USE_ALL_WIDTH)); 
+1

请注意,你将不得不这样HFM添加到VerticalFieldManager(或类似),其非滚动水平。此外,并非所有字段都支持Field.USE_ALL_WIDTH,因为这需要为右侧的Fields工作。就我个人而言,我会创建一个管理器来以这种方式进行布局,但由于这是可接受的解决方案,因此看起来没什么价值。 –