По умолчанию менеджеры полей выровнены слева направо и сверху вниз, но это можно изменить.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' расположено на 20 пикселей относительно верха менеджера поля hfm.Например, если это единственный диспетчер полей, он расположен в 20 пикселях от верхней части экрана.Он расположен в 10 пикселях слева от начала hfm.
Растровое изображение 'b' также расположено в 20 пикселях от верха hfm, и оно расположено в 10 пикселях от самого правого пикселя растрового изображения 'a'.,Это потому, что мы находимся в горизонтальном поле (слева направо), что b относительно самого правого пикселя a.
Мы могли бы перевернуть этот пример справа налево, перенастроив менеджера.Т.е.
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);
...
Вышеуказанный «а» выровнен на 20 пикселей сверху vfm и 10 пикселей слева от vfm.«b» выровнен на 10 пикселей слева от vfm и на 20 пикселей снизу от «a»