Метод setMargin в BlackBerry - PullRequest
       1

Метод setMargin в BlackBerry

2 голосов
/ 24 декабря 2010

Я должен использовать метод setMargin() в своем приложении Blackberry.Кто-нибудь, пожалуйста, объясните мне этот метод подробно?

setMargin(top,right,bottom,left)

Как я могу использовать выше 4 параметра для отображения моих элементов управления на экране?Может быть, это очень простая вещь, чтобы понять, но я действительно очень запутался с верхними правыми нижними левыми параметрами.Возможно, я неверно истолковываю это и получаю неправильное отображение элементов управления на экране.

1 Ответ

2 голосов
/ 24 декабря 2010

По умолчанию менеджеры полей выровнены слева направо и сверху вниз, но это можно изменить.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»

...