2016-08-03 8 views
0

기본적으로 이미 그려진 캔버스를 변경하려고합니다. 사용자 입력에 따라 일부가 변경됩니다. 전체 캔버스를 다시 그리는 데 너무 많은 시간이 걸리므로 동일한 뷰와 홀더를 사용하여 별도의 캔버스를 만들고 캔바스 상단에서 변경되는 항목을 그립니다. 내가 그려내는 비트 맵은 그려진 이전 캔버스를 완전히 지워 버리는 것처럼 보입니다. 이 주변의 어떤 방법?Android : 보조 캔버스를 사용하여 기존 캔버스 위에 그릴 수 있나요?

더 간단한 질문을하려면 지우지 않고 기존보기 (이 경우에는 표면보기) 위에 그릴 수 있어야합니다.

답변

0

Canvas 인스턴스가보기 계층 구조를 통해 위에서 아래로 전파되는 단일 인스턴스이므로 의미가 없습니다. 사용자 지정보기를 새로 고치려면 view.invalidate(Rect) 또는 view.invalidate(left, top, right, bottom)과 같은 메서드를 사용할 수 있습니다.

+0

기본적으로 나는 그 아래의 내용을 지우지 않고 기존 뷰 위에 그릴 수 있어야합니다. – jagrakye

+0

추가 뷰를 작성하여 기존 뷰를 오버레이 할 수 있습니다. 이것은'FrameLayout' 또는'RelativeLayout'을 사용하여 둘 다 감쌀 수 있습니다. 이 새로운 관점을 그리기 만하면됩니다. –

+0

아, 어쩌면 나는 그것을 overthinking 해요. 감사! – jagrakye