HelloCharts图表库之饼状图

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);//设置数值标签在被选中时出现

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值