HelloCharts图表库之饼状图

来源:互联网 发布:arttemplate需要的数据 编辑:程序博客网 时间:2024/06/06 05:19

HelloCharts项目giuhub网址:https://github.com/lecho/hellocharts-android;
饼状图的使用
1,下载依赖包并添加到项目中
2,在布局文件中声明控件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <lecho.lib.hellocharts.view.PieChartView        android:id="@+id/pcv"        android:layout_width="match_parent"        android:layout_height="match_parent" /></LinearLayout>

3,在Activity中的处理

public class MyPieChartActivity extends Activity {    private PieChartView chart;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_mypiechart);        chart = (PieChartView) findViewById(R.id.pcv);        chart.setCircleFillRatio(0.8f);//设置饼状图占整个view的比例        chart.setChartRotationEnabled(true);//设置饼状图可以旋转        chart.setOnValueTouchListener(new PieChartOnValueSelectListener() {            @Override            public void onValueSelected(int i, SliceValue sliceValue) {            }            @Override            public void onValueDeselected() {            }        });        generateData();    }    private void generateData() {        int sliceNum = 7;        List<SliceValue> sliceValues = new ArrayList<>();        for (int i = 0; i < sliceNum; i++) {            sliceValues.add(new SliceValue((float) (Math.random() * 20 + 10), ChartUtils.pickColor()));        }        PieChartData data = new PieChartData(sliceValues);        data.setHasLabels(false);        data.setHasLabelsOnlyForSelected(true);        data.setHasLabelsOutside(true);        data.setHasCenterCircle(true);        data.setCenterCircleColor(Color.BLUE);//设置空心的颜色        data.setCenterCircleScale(0.5f);//设置空心所占的比例,默认0.6f        data.setCenterText1("hello");        data.setSlicesSpacing(12);        //只有设置中间空心才能有效设置文字        Typeface tf = Typeface.createFromAsset(getAssets(), "Roboto-Italic.ttf");        data.setCenterText1Typeface(tf);        // Get font size from dimens.xml and convert it to sp(library uses sp values).                   data.setCenterText1FontSize(ChartUtils.px2sp(getResources().getDisplayMetrics().scaledDensity,                (int) getResources().getDimension(R.dimen.pie_chart_text1_size)));        chart.setPieChartData(data);    }}

饼状图中几个重要的方法:
PieChartView:
1,setCircleFillRatio(0.8f);//设置饼状图占整个view的比例
2,chart.setChartRotationEnabled(true);//设置饼状图可以旋转

PieChartData:
1,setSlicesSpacing(int i);//设置每一块之间的间隙
2,setHasLabels(boolean b);//是否显示数值标签
3,setHasLabelsOnlyForSelected(booelan b);//是否仅在被选中的时候显示数值标签
4,setHasLabelsOutside(boolean b);//数值标签在饼内还是饼外
5,setHasCenterCircle(boolean b);//饼状图是否空心、
6,setCenterText1(String text);//设置空心处的文字
7,setCenterText2(String text);//设置空心出的文字
8,setCenterText1Typeface( Typeface tf);//设置文字的样式
9,setCenterText1FontSize();//设置文字的大小
10,setCenterText1Color();//设置文子的颜色
11,setValueSelectionEnabled(boolean b);//设置数值标签在被选中时出现

0 0
原创粉丝点击