본문 바로가기

ANDROID/UI - UX

[안드로이드] 각도 표시를 위한 간단한 호 그리기

데이터에 따른 각도 값을 하이라이트 해서 시각화하기 위해 채워진 호를 그리고자 하였다.


Stack Overflow에서 아주 어렵지 않게 결과물을 얻을 수 있는 예제를 발견했고, 거의 원큐에 가깝게


목표를 달성해버렸다;





원본 내용은 가운데가 빈 도넛 형태의 도형을 그리고자 작성된 코드가 들어가있는데, 이는 중앙에 지우고자 하는


작은 원을 추가로 캔버스에 그려준 것이라, 가운데 원을 그리지만 않으면 원하는 호 모양을 그릴 수 있게 된다.



-- 순서 --


1. Bitmap 객체를 만들고


2. 캔버스 객체를 만든 Bitmap 객체로 생성


3. 지름과 startAngle, sweepAngle 설정. 


startAngle은 0f로 설정할 경우 수평방향에서 시작하며, 음수값을 주는 만큼 반시계 방향에서 시작.

sweepAngle은 그릴 호의 각도만큼 방향을 고려해 음수 혹은 양수로 지정하면 됨


4. 사용할 Paint 객체 생성 및 세팅


5. 입맛에 맞게 RectF 객체 생성, 이때 위에서 정의한 캔버스의 width height값을 가져옴.


6. 캔버스에 drawArc(RectF객체, startAngle, sweepAngle, true, paint); 수행


7. 이를 넣고자 하는 ImageView에 적용




<참조>


https://stackoverflow.com/questions/17623947/android-fill-partial-arc