Android自定义控件-雷达图
程序员文章站
2022-06-01 18:14:18
...
效果展示
先来看看效果。
基本使用
先在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鼓励一下吧。
上一篇: 原生JS二级菜单实现(代码相当全)
下一篇: Flutter技术与实战(2)