开篇
我本人是喜欢玩英雄联盟(LOL)的,玩了N年还是青铜(我想大声说一句:MMP),这辈子段位估计是上不去了,来世再来发愤图强吧。我就像下面这只蝎子,虽然没能够打过谁,可是我很凶啊,有种来祭坛追俺啊!
![](https://img.haomeiwen.com/i10068842/ec440a4bf60503f4.jpg)
- 支持正N边形,N>=3。
屏幕截图
看完蜘蛛图后,我才知道自己有多么菜!!!补充一句:我是辅助蝎子!不撸一个蜘蛛网图看看,就不知道自己的蝎子有多么菜!开撸!开撸!开撸!
![](https://img.haomeiwen.com/i10068842/576e1e4a7ebe760b.jpg)
立即体验
扫描以下二维码下载体验App(从0.2.3
版本开始,体验App内嵌版本更新检测功能):
![](https://img.haomeiwen.com/i10068842/32167337beb31f27.png)
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。
我需要三件东西:爱情友谊和图书。然而这三者之间何其相通!炽热的爱情可以充实图书的内容,图书又是人们最忠实的朋友。 —— 蒙田
网友评论