Я должен узнать, как большой представление будет после присоединять его к своему родителю.
Я переопределил этот метод:
onMeasure(int, int);
но похоже, что этот метод вызывается только, когда я на самом деле добавляю свое пользовательское представление к, он - контейнерное использование:
addView(myView);
Вы думаете, что существует способ получить эту информацию прежде, чем представить само представление? В основном я должен знать фактический размер прежде, чем присоединить его и не присоединить представление вообще, если это взяло бы более определенное количество пространства.
кто-либо?
Вы должны быть в состоянии использовать getMesauredWith() и getMeasuredHeight()
http://developer.android.com/reference/android/view/View.html#getMeasuredWidth%28%29
OnMeasure не сообщает вам размер представления. Вместо этого он просит ваше настраиваемое представление установить его размер, предоставляя некоторые ограничения, налагаемые родительским представлением.
Это из документации SDK:
Первая пара известна как измеренная ширина и измеренная высота. Эти размеры определяют, насколько большим должно быть представление в пределах своего родительского элемента (подробнее см. Макет ). Измеренные размеры можно получить, вызвав { {1}} getMeasuredWidth () и getMeasuredHeight ().
Вторая пара называется просто шириной и высотой или иногда шириной чертежа и высотой чертежа. Эти размеры определяют фактический размер вида на экране во время рисования и после макета. Эти значения могут, , но не обязательно, отличаться от измеренных ширины и высоты. Ширина и высота могут быть получены вызовами getWidth () и getHeight ().
После макета вы можете вызвать getWidth () и getHeight (), чтобы узнать окончательный размер вашего пользовательского представления.