当前位置:   article > 正文

Android 关于PieChart的基础使用以及对于pieChart扇形区域的事件监听_

我是菜鸟写的不好请见谅,对您有帮助请关注 点赞 收藏

先导入MPAndroidChart-v2.1.5.jar

基础使用效果图:

在这里插入图片描述

废话不多说看代码:

超简单的布局文件编写:

// 是不是很简单
   <com.github.mikephil.charting.charts.PieChart
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:id="@+id/pieChart1"
        android:layout_margin="30dp"
        >

    </com.github.mikephil.charting.charts.PieChart>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

下面是java代码:

private PieChart pieChart;
pieChart=findViewById(R.id.pieChart1);  //这个就不介绍了


   		pieChart.setDescription("人口数量");  //设置pieChart的描述
        pieChart.setDescriptionPosition(500f,30f);//设置描述语的位置
        pieChart.setDescriptionTextSize(14f);//设置描述语的大小
        pieChart.setDrawHoleEnabled(false);//设置是否为空心圆
        pieChart.setExtraOffsets(20f,20f,20f,20f);//设置piechart的位置
        Legend legend=pieChart.getLegend();
        legend.setPosition(Legend.LegendPosition.BELOW_CHART_CENTER);//设置方块标记的位置

        pieChart.animateX(2000, Easing.EasingOption.EaseInElastic);//设置piechart的动画效果
        List<String> xvals=new ArrayList<>();//每个扇形的描述
        xvals.add("美国");
        xvals.add("中国");
        List<Entry> yvals=new ArrayList<>();//每个扇形的数据
        yvals.add(new Entry(30f,0));
        yvals.add(new Entry(69f,1));
        List<Integer> colors=new ArrayList<>();//每个扇形的颜色
        colors.add(Color.parseColor("#FF6633"));
        colors.add(Color.parseColor("#66CC99"));
        PieDataSet pieDataSet=new PieDataSet(yvals,"比较");
        pieDataSet.setColors(colors);//将List颜色设置
        pieDataSet.setValueTextSize(15f);//设置扇形上面字体的大小
        pieDataSet.setSliceSpace(5f);//设置扇形空隙的大小
        PieData pieData=new PieData(xvals,pieDataSet);
        pieData.setValueFormatter(new PercentFormatter());//设置百分比
        pieChart.setData(pieData);//数据填充
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

对于pieChart扇形区域的事件监听

点击使选中扇形变大并且可以做相应的时间处理
在这里插入图片描述

// 是不是很简单
   pieChart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
            @Override
            public void onValueSelected(Entry entry, int i, Highlight highlight) {
                Log.e("",""+i+entry+highlight);  //打印日志   
            }

            @Override
            public void onNothingSelected() {
					//整体扇形的监听
            }
        });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

日志:

E/: 0Entry, xIndex: 0 val (sum): 30.0Highlight, xIndex: 0, dataSetIndex: 0, stackIndex (only stacked barentry): -1
E/: 0Entry, xIndex: 1 val (sum): 69.0Highlight, xIndex: 1, dataSetIndex: 0, stackIndex (only stacked barentry): -1

我是菜鸟写的不好请见谅,对您有帮助请关注 点赞 收藏

谢谢您的鼓励

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/254846
推荐阅读
相关标签