setExtent для вложенных HorizontalFieldManagers - PullRequest
0 голосов
/ 09 марта 2011

Я разрабатываю приложение, в котором я должен использовать вложенные горизонтальные менеджеры.Я беру внутренние и внешние HFM.Поля innerHFM перекрываются на externalHFM, когда я прокручиваю поля.Как я могу использовать метод setExtent для innerHFM.Моя innerHFM содержит такие поля, как 1 2 3 4 5, а моя externalHFM содержит кнопки «Следующая» и «Предыдущая».Вот код, который я реализовал

outerHFM = new HorizontalFieldManager() {

            protected void sublayout(int maxWidth, int maxHeight) {

                layoutChild(next, maxWidth, maxHeight);
                setPositionChild(next, 300, 5);

                layoutChild(innerHfm, 200, maxHeight);
                setPositionChild(innerHfm, 10, 5);

                layoutChild(previous, maxWidth, maxHeight);
                setPositionChild(previous, 44, 5);

                setExtent(maxWidth, 40);

            }
        };

    innerHfm = new HorizontalFieldManager(Manager.HORIZONTAL_SCROLL|Manager.USE_ALL_WIDTH) {

        protected void sublayout(int maxWidth, int maxHeight) {
            int space = 0;
            int x = 90;
            for (int i = 0; i < cardsSize; i++) {
                layoutChild(numbtn[i], 210, maxHeight);
                setPositionChild(numbtn[i], x + space+offset, 0);
                space = space + 50;
            }
            setExtent(240, 40);
        }
    };

1 Ответ

0 голосов
/ 10 марта 2011

Привет, этот размер работает для всех моих полевых менеджеров.

int managerWidth;
int managerHeight;

public int getPreferredWidth() {
    return managerWidth;
}

public int getPreferredHeight() {
    return managerHeight;
}

public void sublayout(int w, int h) {
    super.sublayout(managerWidth, managerHeight);
    setExtent(managerWidth, managerHeight);
}

может быть, это ручное позиционирование может быть проблемой, вы можете использовать AbsoluteFieldManager вместо ...

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