GeometricProgressView.java 文件源码

java
阅读 48 收藏 0 点赞 0 评论 0

项目:geometric-progress-view 作者:
private void initializeFigures() {
    if (!isInEditMode()) cancelAnimation();
    int size = Math.min(width, height);

    double circumference = numberOfAngles * figurePadding;
    double distanceFromCenter = circumference / (Math.PI * 2);
    int radius = size / 2 - (int) (distanceFromCenter);
    double startAngle = 90 + (360.0 / numberOfAngles) / 2;
    List<PointF> angles = new ArrayList<>();
    for (int i = 0; i < numberOfAngles; i++) {
        double angle = startAngle + i * (360.0 / numberOfAngles);
        angles.add(new PointF(
                (float) (center.x + radius * Math.cos(Math.toRadians(angle))),
                (float) (center.y + radius * Math.sin(Math.toRadians(angle))))
        );
    }

    figures = new ArrayList<>();
    if (TYPE.KITE.equals(type)) {
        buildFiguresUsingKites(angles, startAngle, distanceFromCenter);
    } else {
        buildFiguresUsingTriangles(angles, startAngle, distanceFromCenter);
    }
    setupAnimation();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号