안녕하세요. 현재 메인쓰레드에 사각형 4개가 다닥다닥 붙어있는 상태고요.
비동기 처리가 끝나면(onPostExecute에서) 해당 4개 사각형들의 Margin 값을 늘려줍니다. (붙어있던 사각형 4개가 서로 틈이 벌어지게끔, 마진을 주는 방법은 View.setLayoutParams 메서드를 사용하고 있습니다.)
그리고 바로 사각형들의 중심 좌표를 구해서 점을 찍습니다. (getLoctionOnScreen 사용)
그런데 이게...onPostExecute 에서 중심점을 찍게되면... setLayoutParams 으로 마진을 주었음에 도 불구하고 마진이 반영되지 않은 상태(다닥다닥 붙어있는상태)의 중심점이 찍히는것 같습니다. 제가 원하는건 사각형 4개가 서로 틈이 약간 벌어진 상태에서의 중심점들을 표시해주고 싶은거거든요.
UI Thread에 버튼을 따로 만들어서 중심점 찍는 로직을 넣고 클릭하면..잘 찍힙니다.
다만 onPostExecute 에서 중심점을 찍게되면 마진을 주었음에 도 불구하고 마진이 먹기 전의 중심점이 찎힙니다..
느낌상 onPostExecute 에서 UI Thread의 사각형 4개의 마진을 주었으나 실제로는 onPostExecute 가 끝나야 해당 뷰들의 마진이 반영되는 것 같아요..
비동기처리가 끝나고, 마진을 주고, 마진이 반영된 사각형들의 중심에 점을 찍고 싶습니다.
'여기서 마진이 반영된'의 시점을 잡을 방법이 없을까요? onPostExecute 는 아닌 것 같습니다..
아니면 다른 방법이 있을까요?!