2012-05-23 2 views
0

Как добавить менеджера поля веки в диспетчер поля сетки.Добавление одного менеджера в другой

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

Я смог добавить их обособленно, но теперь я не могу использовать их вместе.

После кода был использован, когда я хотел интегрировать

  _eyelidFieldManager.add(grid); 
     add(_eyelidFieldManager); 

Как еще это может быть достигнуто?

Я также попытался добавить этот путь

 grid.add(_eyelidFieldManager); 
     add(grid); 

Но то, что я получаю менеджер поля века идет ниже grid.I хочет наложить на веко поверх grid.So, что, когда я нажимаю в любом месте экрана сетки, открывается веко. Ваша помощь будет оценена.

ответ

1

EyelidFieldManager имеет три основных метода добавления полей:

  • addTop(Field f): добавляет поле к началу века.
  • addBottom(Field f): добавляет поле к нижнему веку.
  • add(Field f, int x, int y): добавляет поле и помещает его в указанное абсолютное положение. Поля, добавленные с использованием этого метода, остаются видимыми после закрытия крышки.

Как вы можете видеть, EyelidFieldManager простирается от AbsoluteFieldManager и это то, что делает этот класс так проблематично, так как поля, добавляемые между крышками должны быть уложены с использованием абсолютных координат.

В своей очереди, расширяет AbsoluteFieldManagerManager поэтому он имеет дополнительный add(Field f) метод, который переопределен, чтобы добавить поле к нижнему веку. Это то, что происходит в вашем случае. Вместо этого вы должны использовать третий метод добавления, указанный выше, и предоставить абсолютные координаты.

+0

Большое спасибо за ответ. Я пробовал использовать этот третий метод таким образом _eyelidFieldManager.add (grid, 20, 40); и затем я добавил eyelidfieldmanager как это добавить (_eyelidFieldManager); Но я получаю только веки. Сетка не видно. Что происходит сейчас? – techie

Смежные вопросы