Blackberry - установить положение поля на экране? - PullRequest
4 голосов
/ 19 ноября 2009

Я хочу расположить свое поле в указанных местах.

1 Ответ

10 голосов
/ 19 ноября 2009

в основном, чтобы установить любую позицию поля среди менеджера, вы должны:

  1. переопределить подслой
    • set layoutChild для каждого поля в менеджере
    • set setPositionChild для каждого поля в менеджере
    • используйте setExtend для правильного размера менеджера

удалена мертвая ссылка ImageShack

Код расширенного менеджера:

class CustomVerticalManager extends VerticalFieldManager {
 LabelField mText1 = new LabelField("top");
 LabelField mText2 = new LabelField("bottom");

 public CustomVerticalManager() {
  add(mText1);
  add(mText2);
 }

 public int getPreferredHeight() {
  return Display.getHeight();
 }

 public int getPreferredWidth() {
  return Display.getWidth();
 }

 protected void sublayout(int width, int height) {
  width = getPreferredWidth();
  height = getPreferredHeight();

  int fieldWidth = mText1.getPreferredWidth();
  int fieldHeight = mText1.getPreferredHeight();
  layoutChild(mText1, fieldWidth, fieldHeight);
  int xPos = (width - fieldWidth) >> 1;
  int yPos = 0;
  setPositionChild(mText1, xPos, yPos);

  fieldWidth = mText2.getPreferredWidth();
  fieldHeight = mText2.getPreferredHeight();
  layoutChild(mText2, fieldWidth, fieldHeight);
  xPos = (width - fieldWidth) >> 1;
  yPos = height - fieldHeight;
  setPositionChild(mText2, xPos, yPos);
  setExtent(width, height);
 }
}

Пример использования:

class Scr extends MainScreen {
 CustomVerticalManager mManager = new CustomVerticalManager();

 public Scr() {
  add(mManager);
 }
}

Смотри также
Беспроводная связь - Как: создать собственный менеджер макета для экрана
Blackberry - анимация расположения полей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...