美文网首页
Android 雷达(蜘蛛网)图RadarView

Android 雷达(蜘蛛网)图RadarView

作者: SwitchLife | 来源:发表于2018-04-02 17:44 被阅读0次

开篇

  我本人是喜欢玩英雄联盟(LOL)的,玩了N年还是青铜(我想大声说一句:MMP),这辈子段位估计是上不去了,来世再来发愤图强吧。我就像下面这只蝎子,虽然没能够打过谁,可是我很凶啊,有种来祭坛追俺啊!

  • 支持正N边形,N>=3。

屏幕截图

  看完蜘蛛图后,我才知道自己有多么菜!!!补充一句:我是辅助蝎子!不撸一个蜘蛛网图看看,就不知道自己的蝎子有多么菜!开撸!开撸!开撸!

立即体验

扫描以下二维码下载体验App(从0.2.3版本开始,体验App内嵌版本更新检测功能):


JSCKit库传送门:https://github.com/JustinRoom/JSCKit

源码简析

    private int startAngle;
    private int layerCount;
    private int layerStyle;
    private int layerStrokeWidth;
    private int layerColor;
    private int outputColor;
    private boolean vertexShow;
    private int vertexColor;
    private int vertexRadius;

    /**
     * 计算多边形顶点
     *
     * @param startAngle
     * @param count
     * @param centerX
     * @param centerY
     * @param radius
     * @return
     */
    private List<RadarPoint> getPointsOnCircle(int startAngle, int count, float centerX, float centerY, float radius) {
        List<RadarPoint> points = new ArrayList<>();
        int avgAngle = 360 / count;
        for (int i = 0; i < count; i++) {
            int angle = startAngle + avgAngle * i;
            points.add(getPointAtSpecialAngle(angle, centerX, centerY, radius));
        }
        return points;
    }

RadarEntity:

public class RadarEntity {
    public final static int ALIGN_LEFT = 0;
    public final static int ALIGN_RIGHT = 1;
    public final static int ALIGN_TOP = 2;
    public final static int ALIGN_BOTTOM = 3;
    @IntDef({ALIGN_LEFT, ALIGN_RIGHT, ALIGN_TOP, ALIGN_BOTTOM})
    @Retention(RetentionPolicy.SOURCE)
    public @interface LabelAlignType {
    }

    /**标签*/
    private String label;
    /**标签字体颜色, 默认为:0xFF333333*/
    private int labelColor;
    /**标签字体大小, 默认为:12sp*/
    private float labelTextSize;
    /**标签相对于顶点的位置*/
    private int labelAlignType;
    /**有效值百分比*/
    private float value;

    public RadarEntity() {
        label = "";
        labelColor = 0xFF333333;
        labelTextSize = 12f;
    }
}

如何使用

这里是使用示例和相关参数说明:
https://github.com/JustinRoom/JSCKit/blob/master/doc/baseComponent/radar_view.md

篇尾

  如果您觉得还不错的话,点个赞(或加个关注)啰!QQ:1006368252

  我需要三件东西:爱情友谊和图书。然而这三者之间何其相通!炽热的爱情可以充实图书的内容,图书又是人们最忠实的朋友。 —— 蒙田

相关文章

网友评论

      本文标题:Android 雷达(蜘蛛网)图RadarView

      本文链接:https://www.haomeiwen.com/subject/lssxhftx.html