2010-08-19 3 views

답변

43

Android는 시작시 실제 크기를 알지 못하므로 계산해야합니다. 완료되면 onSizeChanged()가 실제 크기로 알려드립니다.

onSizeChanged() 계산 된대로 크기가 한 번 호출됩니다. 이벤트는 항상 사용자로부터 오지 않아도됩니다. 이 예제에서 안드로이드가 크기를 변경하면 onSizeChanged()이 호출됩니다. onDraw()과 같은 일을 할 때, 그려야 할 그림은 onDraw()입니다.

onMeasure() 바로 답장을 보내 measure()

+1

감사를 호출 후 자동으로 호출된다. 크기가 바뀌면 인스턴스의 예를 들어 주시겠습니까? – iman453

+2

솔루션을 업데이트했습니다. onSizeChanged()에 대한 주된 호출은 뷰를 생성 한 후 도면 이전에 수행됩니다. 이 때 시스템은 뷰의 크기를 계산하고'onSizeChanged() '를 호출하여 사용자에게 알릴 것입니다. –

+0

이것은 ViewTreeObserver 대안보다 훨씬 낫습니다. – Dmacpro

관련 문제