Android - странное поведение макета пользовательского ViewGroup - PullRequest
1 голос
/ 19 февраля 2012

У меня есть пользовательский ViewGroup с двумя дочерними элементами, ViewPager и другим подклассом ViewPager.

Когда я создаю его экземпляр из кода, он отображается нормально.Однако при этом из XML второй дочерний элемент не показывался.Я подтвердил, добавив другие представления выше и ниже пользовательского ViewGroup из XML, и оказалось, что представление было смещено по вертикали на некоторое количество, что привело к усечению второго дочернего элемента.

Измерение выглядело нормально, так как я получил правильный разрыв между t и b в onLayout().Поэтому я попробовал следующее в своем onLayout() перед вызовом layout() для детей.

b = b - t;
t = 0;

Вуаля .... это прекрасно отображает, что на самом деле не имеет смысла, так как есть вид вышеэтот, который означает, что t, будучи нулем, должен перезаписать его (или, может быть, его родственник, я могу ошибаться).

В любом случае, что меня беспокоит, так это то, почему аргументы onLayout() явно смещают представление?

...