2012-02-07 6 views
0

Android에서 차트를 사용해야하고 다양한 aChartEngine, AndroidPlot 및 기타 라이브러리를 성공적으로 사용하지 못했습니다. 사용자가 항목을 탭하여 해당 이벤트를 트랩해야합니다. 이것을 처리하십시오. 그래서 처음부터 차트를 만들기로 결정했습니다. 캔버스를 사용하는 것 같아요.하지만 그려진 항목에 터치 이벤트를 어떻게 얻을 수 있는지 알고 싶습니다. (가능한 경우 터치 좌표를 얻지 않고 객체와 교차하는지 보면서, 장치 회전을 처리하는 것이 어려울 수 있습니다. 핸들). 만질 수있는 캔버스 그려진 이미지의 예가 있습니까?Android에서 터치 인터랙티브 차트 그리기

답변

0

쉽습니다. 차트를 그리는 데 사용하는보기에서 TouchListener를 추가 한 다음 터치 한 지점이 원 안에 있는지 확인합니다. 터치 포인트는 원형 차트 주위에 사각형 내에있는 경우이 예제에서 내가 확인하고 있습니다 : 물론

this.setOnTouchListener(new View.OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       float x = event.getX(); 
       float y = event.getY(); 
       if (x < (centreX-r) || x> (centreX+r) || y <(centreY-r) || y>(centreY+r)) { 
        return false; 
       } 
       //do whatever you need to do 
       return true; 
      } 
     }); 

당신이 눌러 진 조각을 정확하게 알 필요가 있다면, 당신은 슬라이스를 결정하기 위해 일부 로직을 추가해야합니다 포인트와 각도에 따라