Java Code로 어떤 View의 폭과 높이를 구할때 view.getWidth(), view.getHeight() method를 통해 값을 가져올수 있습니다. 그런데 사용하는 위치에 따라 해당 값들이 모두 0으로 리턴이 될때가 있습니다.
getWidth(), getHeight()가 0으로 리턴되는 이유는 간단함니다. 해당 view가 아직 화면에 그려지지 않고 있기 때문에 getWidth, getHeight가 0이 나오게 되는것입니다. 바꾸어 말하자면
view가 화면에 그려져 있지 않다면 getWidth(), getHeight()는 0이 리턴이 된다는 말입니다. 그런데 때에 따라서 view가 화면에 그려지기 전에 width와 height를 구해야 한다면 다음과 같이 하면 됩니다.
view.measure(MeasureSpec.UNSPECIFIED,MeasureSpec.UNSPECIFIED); int width = view.getMeasuredWidth(); int height = view.getMeasuredHeight();이렇게 하면 width와 height를 구할수 있게 됩니다.
'Mobile > Android' 카테고리의 다른 글
[Android] ListView에서 OnItemClick 이벤트가 실행되지 않을때 (2) | 2013.11.14 |
---|---|
[Android] 리스트뷰에서 스크롤 바닦에 닿았을때 체크하기 (2) | 2013.11.14 |
[Android] ListView에서 스크롤 방향 체크하기 (0) | 2013.11.14 |
[Android] 외부(오픈소스) 라이브러리 사용하기 (0) | 2013.11.14 |
[Android] Maven으로 안드로이드 개발환경 구축하기 (0) | 2013.11.14 |