안드로이드 개발 질문/답변
(글 수 45,052)
view사이즈 계산에 있어 문의사항이 있어 질문드립니다.
view의 출력되는 사이즈 정보를 알아내는 객체가 무엇인지에 대한 질문입니다.
예를들어
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("TEST");
이 단계에서 tv가 출력되기 되기위해 필요한 가로 세로 값을 알 수 있을까하는 것이죠.
제 생각엔 tv가 출력되어야하는 공간의 폭이 200 이라면 높이 값을 얼마를 가져야하는 알 수 있을까 하는 것이죠.
......
}
2010.07.21 17:05:17
전에 쓰신 글과 같이, onCreate 안에서는 사이즈를 가져올 방법이 없네요.
저도 예전에 비슷한 걸 해보려고 했는데, 며칠째 방법을 못찾고 포기했었답니다.
2010.07.21 18:15:29
답변들 감사합니다.
이 방법들은 시도해 보았지만 제가 할려는 부분이랑은 조금 맞지 않네요.
제가할려는 것은 xml을 사용하지 않고 FrameLayout 이나 RelativeLayout으로 화면을 구성할려는 것인데 이럴려면 각 view들이 출력되기 전에 위치를 계산해서 넣어줘야하기 때문에 view출력전에 정보들을 알 수 있어야 합니다.
2010.07.22 10:28:19
휴 해결하였습니다.
onResume까지 가지 않더라도 알 수 있는 해결할 수 있는 수단이 있을거라 생각하였는데 역시 있네요^^;;
이런게 없다면 xml을 사용하지 않고 소스코딩만으로 RelativeLayout이나 FrameLayout으로 화면구현이 쉽지 않으니깐욤
제가 사용한 방법은 getMeasureWidth(), getMeasureHeight()를 할 수 있는 환경을 제가 강제로 지정해주고 호출하니 제가 지정해준 환경에서 내에서 출력될 시 가로와 세로값에 대한 정보를 알려주네요
이 방법이 맞는지는 좀 더 테스트는 필요하지만 적어도 제가 필요로 하는 값을 측정할 수 있는데는 무리가 없어보이네요