마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

SeekBar 를 따라 TextView 가 움직이게 하려고 하는데 뷰 생성초기에 위치 변경이 안되네요.

0 추천

SeekBar 를 이동 시킬때 마다 TextView 가 SeekBar 의 위치값을 읽어들여 Thumb 를 따라 다니도록 setX 를 사용하여 구현 하였습니다.

SeekBar 값 변동시에는 잘되는데

뷰가 처음 생성이되고 SeekBar 값이 세팅이 된 이후 TextView 에 setX 를 걸었는데 먹히질 않네요.

Log 를 찍어보니 SeekBar 의 위치값이 0으로 나오더군요.

Inflater 를 사용해서 리니어 레이아웃에 시크바가 들어있는 리니어레이아웃을 AddView 시키도록 되어 있습니다.

어느 시점에 TextView 의 setX 값을 줘야 초기에 정상적인 위치에 TextView 가 자리하게 될까요?

Inflater시 SeekBar가 다 생성되는 시점을 알 수 있을까요?

TextView 초기화 뒷부분에 SeekBar 의 값에 관계없이 임의로 TextView.setX(250) 이런식으로 주게되면 그 위치로 TextView 는 이동을 합니다.

SeekBar 와 TextView 초기화가 뒷부분에 SeekBar 의 위치값까지 읽어와서 TextView.setX 를 하게되면 이동하지 않습니다.

SeekBar 의 위치값은 모두 0 이구요.

사진의 위쪽은 SeekBar 를 터치 했을때 정상적인 동작 입니다.

아래쪽은 초기상태 그대로 입니다.

후니다 (160 포인트) 님이 2013년 8월 5일 질문

1개의 답변

+1 추천
 
채택된 답변

ViewTreeObserver 를 이용해 View의 layout change 시점을 콜백받는 방법을 검색해보세요.

b22n (22,940 포인트) 님이 2013년 8월 5일 답변
후니다님이 2013년 8월 5일 채택됨
감사합니다.
덕분에 해결 했네요.
...