我必须在我的Blackberry应用程序中使用setMargin()
方法。请问有谁详细解释这个方法吗?
setMargin(top,right,bottom,left)
如何使用以上4个参数在屏幕上显示我的控件?也许这是一个非常简单的事情要理解,但我真的很困惑右上角的左下角参数。也许我误解了它并在屏幕上显示不正确的控件。
答案 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像素