第二阶段冲刺(五)

昨天学习了绘制饼状图

遇到的困难是点击不同的模块中间的标题 无法获得相对应的数值

今天准备学习如何实现底部导航栏

 PieData mPieData = getPieData(4, 100);
 showChart(pieChart, mPieData);
 
 
   /**
     *
     * @param count 分成几部分
     * @param range
     */
    private PieData getPieData(int count, float range) {
 
        ArrayList<String> xValues = new ArrayList<String>();  //xVals用来表示每个饼块上的内容
 
        xValues.add(0,"");
        xValues.add(1,"");
        xValues.add(2, "");
        xValues.add(3, "");
 
        ArrayList<Entry> yValues = new ArrayList<Entry>();  //yVals用来表示封装每个饼块的实际数据
 
        // 饼图数据
        //若想变成百分比需要设置pieChart.setUsePercentValues(true);
        float quarterly1 = 46;
        float quarterly2 = 18;
        float quarterly3 = 20;
        float quarterly4 = 15;
 
        //饼块数据
        yValues.add(new Entry(quarterly1, 0));
        yValues.add(new Entry(quarterly2, 1));
        yValues.add(new Entry(quarterly3, 2));
        yValues.add(new Entry(quarterly4, 3));
 
        //y轴的集合
        PieDataSet pieDataSet = new PieDataSet(yValues, "作业报告");//显示在比例图上
        pieDataSet.setSliceSpace(1f); //设置各饼状图之间的距离
 
        // 饼图颜色
        ArrayList<Integer> colors = new ArrayList<Integer>();
        colors.add(Color.parseColor("#b284f3"));
        colors.add(Color.parseColor("#fe7c2e"));
        colors.add(Color.parseColor("#7494d6"));
        colors.add(Color.parseColor("#42c0fa"));
        pieDataSet.setColors(colors);
 
        DisplayMetrics metrics = getResources().getDisplayMetrics();
        float px = 2 * (metrics.densityDpi / 160f);
 
        pieDataSet.setSelectionShift(px); // 选中态多出的长度
 
        PieData pieData = new PieData(xValues, pieDataSet);
 
        return pieData;
    }
 
 
 
 /**初始化并填充数据*/
 private void showChart(PieChart pieChart, PieData pieData) {
        pieChart.setHoleColorTransparent(true);
        pieChart.setHoleRadius(60f);  //半径
        pieChart.setTransparentCircleRadius(64f); // 半透明圈
        pieChart.setDrawCenterText(true);  //饼状图中间可以添加文字
        pieChart.setDrawHoleEnabled(true);//饼状图中心圆是否存在
        pieChart.setCenterText("提交作业3次");  //饼状图中间的文字
        pieChart.setCenterTextSize(10);//饼状图中间的文字的大小,但是没有该字体颜色的设置
        pieChart.setValueTextSize(8);//饼图中的内容字体大小
        pieChart.setRotationAngle(90); // 初始旋转角度
 
        pieChart.setNoDataText("数据加载中...");
 
        pieChart.setRotationEnabled(true); // 可以手动旋转
        pieChart.setUsePercentValues(true);  //显示成百分比
        pieChart.setDrawXValues(true);
 
        pieChart.setDescription(null);
        //设置数据
        pieChart.setData(pieData);
 
 
 
        pieChart.highlightValues(null);
 
        //设置数据汇总,比例图
        Legend mLegend = pieChart.getLegend();
        mLegend.setPosition(Legend.LegendPosition.RIGHT_OF_CHART_CENTER); //最右边显示
        mLegend.setTextColor(getResources().getColor(R.color.dark_gray));
        mLegend.setTextSize(10);
        mLegend.setXEntrySpace(8f);
        mLegend.setYEntrySpace(8f);
 
        pieChart.animateXY(1000, 1000);  //设置动画
    }

 

posted on 2019-05-25 07:20  不愧下学  阅读(155)  评论(0编辑  收藏  举报

导航