измерение представления прежде, чем представить его

Я должен узнать, как большой представление будет после присоединять его к своему родителю.

Я переопределил этот метод:

onMeasure(int, int);

но похоже, что этот метод вызывается только, когда я на самом деле добавляю свое пользовательское представление к, он - контейнерное использование:

addView(myView);

Вы думаете, что существует способ получить эту информацию прежде, чем представить само представление? В основном я должен знать фактический размер прежде, чем присоединить его и не присоединить представление вообще, если это взяло бы более определенное количество пространства.

кто-либо?

56
задан nourdine 13 May 2010 в 13:22
поделиться

2 ответа

Вы должны быть в состоянии использовать getMesauredWith() и getMeasuredHeight()

http://developer.android.com/reference/android/view/View.html#getMeasuredWidth%28%29

0
ответ дан 26 November 2019 в 17:24
поделиться

OnMeasure не сообщает вам размер представления. Вместо этого он просит ваше настраиваемое представление установить его размер, предоставляя некоторые ограничения, налагаемые родительским представлением.

Это из документации SDK:

Первая пара известна как измеренная ширина и измеренная высота. Эти размеры определяют, насколько большим должно быть представление в пределах своего родительского элемента (подробнее см. Макет ). Измеренные размеры можно получить, вызвав { {1}} getMeasuredWidth () и getMeasuredHeight ().

Вторая пара называется просто шириной и высотой или иногда шириной чертежа и высотой чертежа. Эти размеры определяют фактический размер вида на экране во время рисования и после макета. Эти значения могут, , но не обязательно, отличаться от измеренных ширины и высоты. Ширина и высота могут быть получены вызовами getWidth () и getHeight ().

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

7
ответ дан 26 November 2019 в 17:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: