본문 바로가기

ANDROID/UI - UX

[안드로이드] canvas에 선을 따라 원 그리기

기존에 선을 드로잉 하는 중에 분기점마다 원을 그려줘야 했는데 단순히 선을 드로잉하던 방법처럼은


잘 수행이 안되는 걸 알 수 있었다. 우선 선의 경우 Path 클래스가 따로 있어 드로잉 할 전체 선의


위치들을 moveTo, lineTo 등으로 지정해 줄 수 있었는데 원의 경우 물론 선이 아니었기에 다른 방법이 필요했다.



자료를 참조하던 중에 배열을 쓰던 사용자가 있었는데 이를 참조하여 x,y 좌표값을 저장하는 ArrayList를


사용하기로 했다.


순서로는



1. 선의 path를 세팅하는 곳에서 최초 시작점인 moveTo나 lineTo로 이어지는 곳의 좌표를 2차원 배열에 저장 


2. 2차원 배열을 ArrayList에 add


3. 마지막으로 onDraw에서 ArrayList의 사이즈 만큼 canvas.drawCircle(가져온2차원배열[0], 가져온2차원배열[1], radius, paint) 수행

 


매우 잘된다.



참조 : https://stackoverflow.com/questions/21049228/drawing-multiple-circles-android