欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android自定义控件-雷达图

程序员文章站 2022-06-01 18:14:18
...

效果展示

先来看看效果。
Android自定义控件-雷达图

基本使用

先在Gradle上导入控件。

allprojects {
	 repositories {
	  		... 
	  		maven { url 'https://jitpack.io' }
	   } 
}
dependencies {
	 ...
	 implementation 'com.github.PYJTLK:RadarViewTest:1.0' 
}

接着在布局文件上摆放雷达图控件,控件推荐长宽一致。

<com.pyjtlk.radarview.RadarChart
        android:id="@+id/radarChart"
        android:layout_width="200dp"
        android:layout_height="200dp"
        app:attributeCount="6"
        app:attributeLevel="6"
        app:contentColor="#A00A"
        app:lineColor="#A0A0"
        app:animDuration="1000"/>

接着在Activity上初始化。

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        radarChart = findViewById(R.id.radarChart);

        //布局文件上设置attributeCount=6,则需要6个参数
        //attributeLevel=6,则各参数的取值范围为0-6
        int attrs[] = {6,1,2,3,4,5};
        radarChart.setAttributes(attrs);
        radarChart.setAttribute(0,1);
    }

再写两个测试方法

public void onClicked(View view) {
        radarChart.setAttribute(0,1);
        radarChart.setAttribute(1,4);
        radarChart.setAttribute(2,2);
    }

    public void onClicked2(View view) {
        radarChart.setAttribute(0,6);
        radarChart.setAttribute(1,2);
        radarChart.setAttribute(2,3);
    }

布局参数

参数 说明
attributeCount 雷达图属性个数
lineColor 雷达网的颜色
lineWidth 雷达网的宽度
contentColor 属性图案的颜色
lineAlpha 雷达网的透明度,取值在0~255
contentAlpha 属性图案的透明度,取值在0~255
showWeb 显示雷达网
attributeLevel 属性的级数
initLevel 初始的级别
animDuration 动画效果的持续时间 ,单位:毫秒

常用方法

方法 说明
setAttributes 设置所有雷达图属性的级别
setAttribute 设置单个雷达图属性的级别

最后

感兴趣的朋友可以看看Github项目,喜欢的话star鼓励一下吧。