Возможно, вы неправильно поняли, как работают макеты Android. В основном представления получают размер своих родителей. onMeasure позволяет виду влиять на размер, но должен следовать контракту метода.
В частности, ваше onMeasure не учитывает режим измерения (как горизонтальный, так и вертикальный). Вы должны обеспечить измерение для всех девяти возможных состояний:
гориза точно, вертикальные точно : установить размер на то, что было принято в (должно быть последний вызов)
гориза точно, вертикальный в большинстве : установить размер по горизонтали для заданного значения, вертикально установить значение , что не больше заданного значения (растяжения с соотношением сторон может сделать это меньший)
гориз точно, вертикальный неопределенный : установить размер по горизонтали приведенного, установить вертикальный размер на лучшие соответствующий размер (например, поддержание соотношения сторон)
гориза самых больший, вертикальное точно : установить вертикальный размер до заданного размера. Установите горизонтальный размер в , соответствующий размер, который не превышает заданный горизонтальный размер.
максимум не более, вертикальное не более : Найдите, какое измерение ограничивает изображение в соответствии с соотношением сторон. Treat, что измерение, как если бы оно было дано в точности (но если изображение меньше, чем пределы можно также использовать, что вместо)
гориз самое большее, вертикальный энное : Если горизонтальный размер меньше, чем образ обрабатывает его так, как если бы размер был задан для точного горизонтального размера, в противном случае рассматривайте его как , если горизонтальное ограничение было точным.
гориз неопределенный, вертикальный точные : Как гориз точный, вертикальный неопределенные, но гориз и вертикальные места
гориза неопределенный, вертикальный, самые большее : Как гориз самых больший, по вертикали не определен, но гориз и вертикальные места
гориза неопределенный, вертикальный неопределенные : характеристическая размер изображения или некоторые по умолчанию, если изображение не (по умолчанию используется 100 100), используя 0,0 делает редактор макета неудобным.
КПП.Не поймайте Исключение, то есть poor practice.