Переопределить подслой на экране или VerticalFieldManager - PullRequest
1 голос
/ 11 мая 2011

Я добавляю VerticalFieldManager на экран. Я рисую фоновое изображение и удаляю пробелы в нижней части экрана, когда пользователь прокручивает вниз переопределяющий подслой в моем вертикальном диспетчере полей следующим образом:

protected void sublayout( int maxWidth, int maxHeight ) {
    super.sublayout( maxWidth, maxHeight );
    setExtent(maxWidth,Constants.BACKGROUND_IMAGE.getHeight());  
}

Это не работает - пробел появляется в нижней части экрана, когда пользователь прокручивает страницу вниз. Я думал, что переопределение подслоя с использованием того же кода на экранном объекте будет иметь приоритет над VerticalFieldManager, который является дочерним элементом экрана.

1 Ответ

2 голосов
/ 11 мая 2011

Пара вещей, чтобы проверить.Если на вашем главном экране вы звоните super(VERTICAL_SCROLL | USE_ALL_WIDTH), то менеджер вашего экрана будет фактически прокручивать вниз, а не тот VFM, который вы настроили.Вы можете попробовать переопределить метод paint () вашего VFM и сделать что-то вроде этого:

protected void paint(Graphics graphics) {
    graphics.drawBitmap(0, getVerticalScroll(), bg.getWidth(), bg.getHeight(), bg, 0, 0);
    super.paint(graphics);
}

Что должно заставить ваш фон "двигаться" при прокрутке.

...