티스토리 뷰
Android에서 View의 크기를 알아오고 싶을때
View.getWidth();
View.getHeight();
위의 메소드를 이용하여서 알아올수 있습니다.
그러나 이 방법은 View가 onDraw를 통하여 화면에 그려 졌을 경우에 크기를 얻을 수 있습니다.
만약 그전에 호출하게 된다면 0값을 얻어오게 됩니다.
onDraw전에 View에 크기를 알고 싶은 경우에는
View.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
View.getMeasuredWidth();
View.getMeasuredHeight();
위의 API를 사용하면 됩니다.
여기에서 알아야 할 부분은 View.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED)의 내용인데,
이 메소드를 통하여 View의 부모에게 크기를 판단하여 알아오게 해줍니다.
위 메소드의 파라미터로 넘겨지는 MeasureSpec 값은
1. MeasureSpec.AT_MOST : wrap_content 에 매핑되며 뷰 내부의 크기에 따라 크기가 달라진다.
2. MeasureSpec.EXACTLY : fill_parent, match_parent 로 외부에서 미리 크기가 지정되었다.
3. MeasureSpec.UNSPECIFIED : Mode 가 설정되지 않았을 경우. 소스상에서 직접 넣었을 때 주로 불립니다.
위와 같은 설정을 지원해줌으로 원하는 설정값을 넘겨주시면 됩니다.
'Mobile > Android' 카테고리의 다른 글
[Android]requestLayout, invalidate의 차이 (0) | 2014.09.25 |
---|---|
[Android]ScrollView와 ListView의 padding (0) | 2014.09.23 |
[Android]Custom Actionbar Theme Example (0) | 2014.09.16 |
[Android]eclipse juno에서 xml문제가 발생할 경우 (0) | 2014.09.15 |
[Android]Chronometer Widget 사용하기 (0) | 2014.09.12 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- CentOS
- Kotlin
- Java
- android
- ubuntu
- Python
- php
- war
- MySQL
- go
- Windows
- cocoapods
- intellij
- github
- golang
- windows10
- enum
- rxswift
- Codable
- Xcode
- git
- nodejs
- docker
- tomcat
- Linux
- centos8
- ios
- Spring
- Gradle
- SWIFT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함