У меня есть пользовательский ViewGroup
с двумя дочерними элементами, ViewPager
и другим подклассом ViewPager
.
Когда я создаю его экземпляр из кода, он отображается нормально.Однако при этом из XML второй дочерний элемент не показывался.Я подтвердил, добавив другие представления выше и ниже пользовательского ViewGroup
из XML, и оказалось, что представление было смещено по вертикали на некоторое количество, что привело к усечению второго дочернего элемента.
Измерение выглядело нормально, так как я получил правильный разрыв между t
и b
в onLayout()
.Поэтому я попробовал следующее в своем onLayout()
перед вызовом layout()
для детей.
b = b - t;
t = 0;
Вуаля .... это прекрасно отображает, что на самом деле не имеет смысла, так как есть вид вышеэтот, который означает, что t
, будучи нулем, должен перезаписать его (или, может быть, его родственник, я могу ошибаться).
В любом случае, что меня беспокоит, так это то, почему аргументы onLayout()
явно смещают представление?