BlackBerry中的setMargin方法

时间:2010-12-24 12:14:37

标签: blackberry margin

我必须在我的Blackberry应用程序中使用setMargin()方法。请问有谁详细解释这个方法吗?

setMargin(top,right,bottom,left)

如何使用以上4个参数在屏幕上显示我的控件?也许这是一个非常简单的事情要理解,但我真的很困惑右上角的左下角参数。也许我误解了它并在屏幕上显示不正确的控件。

1 个答案:

答案 0 :(得分:2)

默认情况下,字段管理器从左到右和从上到下对齐,但可以更改它。 setMargin是相对于字段或对齐字段中的对象。

Bitmap bitmap = EncodedImage.getEncodedImageResource("img/image.png").getBitmap();

HorizontalFieldManager hfm = new HorizontalFieldManager();
BitmapField a = new BitmapField(bitmap);
a.setMargin(20,0,0,10);
hfm.add(a);

BitmapField b = new BitmapField(bitmap);
b.setMargin(20,0,0,10);
hfm.add(b);

add(hfm);

在上面的示例中,位图'a'相对于字段管理器hfm的顶部位于20个像素。例如。如果这是唯一的场管理器,它将从屏幕顶部定位20个像素。它位于距离hfm开始左侧10个像素处。

位图'b'也位于距离hfm顶部20个像素处,并且位于距位图'a'的最右边像素10个像素处。这是因为我们在(从左到右)水平场中,b相对于最右边的像素。

我们可以通过重新调整经理来从右到左翻转这个例子。即。

HorizontalFieldManager hfm = new HorizontalFieldManager(Field.FIELD_RIGHT);
...
a.setMargin(0,10,0,0); // positioned 10 pixels from the right

或类似的垂直经理

VerticalFieldManager vfm = new VerticalFieldManager();
...
a.setMargin(20,10,0,0);
...
b.setMargin(20,10,0,0);  
...

上面的'a'与vfm顶部对齐20像素,与vfm左边对齐10像素。 'b'与vfm左边10像素对齐,与'a'

底部对齐20像素