自定义蜘蛛网图控件,支持多种属性
先看效果图
#Usage
支持属性:
- netColor 网的颜色
- overlayColor 生成覆盖区域的颜色
- overlayAlpha 覆盖区域的透明度
- textColor 文本的字体颜色
- tagsize 文本的大小
详细属性可以参阅详细属性
支持方法
一个是tag可以随意换,一个是绘制区域的占比
/**
* 设置网状线角标
*
* @param titles
*/
public void setTitles(String[] titles) {
this.titles = titles;
}
/**
* 设置绘制区域的占比
*
* @param data
*/
public void setPercent(double[] data) {
this.data = data;
}
支持wrap_content 重写了onMeasure方法,支持具体值和wrap_content
#Example
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:NetView="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context="com.xsf.netview.MainActivity">
<NetView.netView
android:id="@+id/netView"
NetView:netColor="@color/colorPrimaryDark"
NetView:overlayColor="@color/Yellow"
NetView:textColor="@color/sienna"
NetView:tagsize="20"
android:layout_width="300dp"
android:layout_height="match_parent"/>
</LinearLayout>
在Activity中的使用
private netView netView;
private String[] titles = {"android", "javascript", "java", "python", "c++", "ios"};
private double[] percent = {1, 0.4, 0.6, 0.5, 0.8, 0.3};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
netView = (NetView.netView) findViewById(R.id.netView);
netView.setTitles(titles);
netView.setPercent(percent);
}