2012-09-14 16 views
3

원형 차트와 비슷한 것을 만들려고합니다.하지만 그림자가 제대로 잡히지 않습니다. 그림자가 각 세그먼트의 바깥 쪽 선상에 있고 중심선으로 이어지는 선이 아니라고 생각합니다. paint.setShadowLayer()과 비슷한 사용자 지정 함수를 작성하는 것 외에 다른 방법을 사용할 수 있습니까?
이것은 내가 지금까지 무엇을 가지고 :바깥 쪽 곡선의 그림자 만

 float mStart = 0; 
     RectF mOvals = new RectF(mWidth/15 + mGraphParams.leftMargin, mHeight/15 + mGraphParams.topMargin, 
       mWidth - mWidth/15 - mGraphParams.rightMargin, mHeight - mHeight/15 - mGraphParams.bottomMargin); 
     float max = 0; 
     for (int i = 0; i < data.size(); i++) { 
      max = max + data.get(i); 
     } 

     for (int i = 0; i < data.size(); i++) { 
      if (shadow) { 
       paint.setShadowLayer(shadowRadius, shadowDx, shadowDy, this.pieColors.get(i)); 
      } 
      float mSweep = (float) 360 * ((float) data.get(i)/max); 
      paint.setStyle(Style.FILL_AND_STROKE); 
      paint.setColor(this.pieColors.get(i)); 
      canvas.drawArc(mOvals, mStart, mSweep, true, paint); 

      mStart = mStart + mSweep; 

답변

1

그것은 행할 수 없습니다.

setShadowLayer()을 무시해야합니다.

죄송합니다.

관련 문제