uknownothingsnow / CircleProgress

CircleProgress, DonutProgress, ArcProgress
3.81k stars 921 forks source link

DonutProgress draw arc wrongly. #14

Closed taoliuh closed 9 years ago

taoliuh commented 9 years ago

screenshot_2015-02-27-13-57-24 As the image above ,

     if (finishedStrokeWidth > unfinishedStrokeWidth) {
            finishedOuterRect.set(finishedStrokeWidth / 2,
                finishedStrokeWidth / 2,
                getWidth() - finishedStrokeWidth / 2,
                getHeight() - finishedStrokeWidth / 2);
            float delta = (finishedStrokeWidth - unfinishedStrokeWidth) / 2f;
            unfinishedOuterRect.set(unfinishedStrokeWidth / 2,
                unfinishedStrokeWidth / 2,
                getWidth() - unfinishedStrokeWidth / 2 - delta,
                getHeight() - unfinishedStrokeWidth / 2 - delta);
        } else {
            float delta = (unfinishedStrokeWidth - finishedStrokeWidth) / 2f;
            finishedOuterRect.set(finishedStrokeWidth / 2,
                finishedStrokeWidth / 2,
                getWidth() - finishedStrokeWidth / 2 - delta,
                getHeight() - finishedStrokeWidth / 2 - delta);
            unfinishedOuterRect.set(unfinishedStrokeWidth / 2,
                unfinishedStrokeWidth / 2,
                getWidth() - unfinishedStrokeWidth / 2,
                getHeight() - unfinishedStrokeWidth / 2);
        }

I modified so it would like this:
    float delta = Math.max(finishedStrokeWidth, unfinishedStrokeWidth);
    finishedOuterRect.set(delta,
            delta,
            getWidth() - delta,
            getHeight() - delta);
    unfinishedOuterRect.set(delta,
            delta,
            getWidth() - delta,
            getHeight() - delta);

screenshot_2015-02-27-14-06-14

the problem resolved, and I commited a PR.

uknownothingsnow commented 9 years ago

thanks, but I did not receive your PR, do you forget it?

taoliuh commented 9 years ago

Yeah, I pushed just now.