자신의 구성 요소를 만듭니다. 원, 몇 가지 텍스트 (예 : 0º, 90º, 180º 및 270º)를 그려야합니다.
canvas.drawCircle()
및 canvas.drawText()
에 몇 번만 전화하면됩니다. 가장 어려운 부분은 텍스트 위치를 계산하는 것입니다. 그러나 큰 문제는 아니며 조금만 sin
과 cos
입니다.
onTouchEvent(MotionEvent event)
도 무시하십시오. 따라서 터치 이벤트를 듣고 필요에 따라 구성 요소를 다시 칠할 수 있습니다 (가운데 번호와 선택한 번호 사이에 선 그리기, 가장 가까운 번호를 추가 drawCircle
...로 강조 표시). 사용자가보기에 닿을 때
기본적으로 (x, y)의 위치를 계산 :
Point pt = new Point((int)event.getX(), (int)event.getY());
을 그리고 double theta = Math.atan2(pt.x-center.x, center.y-pt.y);
와 각도를 얻을. 도 또는 원하는대로 변환하여 theta
이 라디안으로 표시됩니다.
마지막으로 public double getAngle()
을 추가하면 다른 구성 요소가 선택한 각도를 읽을 수 있습니다.
복잡해 보이지만 그렇지 않습니다. 일부 코드를 시작하려면 "android custom view"를 검색하십시오.