2013-05-17 2 views
0

Android App (API 8) 용으로 만든 사용자 정의보기 (RelativeLayout)에 문제가 있습니다. 캔버스에 작은 이미지를 표시하는 사용자 지정보기를 구현했습니다. 이 모든 것은보기가 처음으로 그려지는 경우를 제외하고는 모두 잘 작동합니다.Android customview가 onlayout 또는 ondraw의 여백을 무효화하지 않습니다.

첫 번째 측정 후에 이미지의 위치가 조정됩니다. 올바른 좌표는 onDrawonLayout 함수에 주어 지지만 뷰는 스케일되지 않은 위치에 그려집니다. 화면을 다시 켜고 끄면보기가 올바른 위치에 그려집니다. 그러나, 나는 다시 그리기를 유발하는 것처럼 보일 수 없다. 다음은 onLayout 코드 스 니펫입니다.

calculateMeasurements()에는 올바른 비율이 계산됩니다. LogCat이 로그에 표시하기 때문에 onLayoutonDraw이되고 올바른 좌표를가집니다.하지만 올바른 위치에 뷰가 그려지지 않았기 때문에 말입니다.

답변

0

이미지를로드하기 위해 AsyncTask를 추가 했으므로 이제 여백이 올바르게 표시됩니다. 나는 아직도 이것이 작동하는 이유를 모르지만, 그렇지 않습니다. 그 이유는 ProgressDialog이 뷰를 강제로 다시 그려야하기 때문이라고 생각합니다.

관련 문제