大家好,好久都没有写了。表达不清楚的请多担待。我是借助别的写好的方法进行修改的,希望对你们有所帮助。
效果如下:
因为我是下Android studio中开发的所以在build.gradle中继承了compile 'com.github.PhilJay:MPAndroidChart:v3.0.0'
在
public class MainActivity extends AppCompatActivity { private PieChart mPieChart; private float textsize = 18f; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mPieChart = (PieChart) findViewById(R.id.mPieChart); mPieChart.setUsePercentValues(true); mPieChart.getDescription().setEnabled(false); mPieChart.setExtraOffsets(5, 10, 5, 5); mPieChart.setDragDecelerationFrictionCoef(0.95f); //设置中间文件 mPieChart.setCenterText(generateCenterSpannableText()); mPieChart.setCenterTextSize(textsize); mPieChart.setDrawHoleEnabled(true); mPieChart.setHoleColor(Color.WHITE); mPieChart.setTransparentCircleColor(Color.WHITE); mPieChart.setTransparentCircleAlpha(110); mPieChart.setHoleRadius(50f); mPieChart.setTransparentCircleRadius(50f); mPieChart.setDrawCenterText(true); mPieChart.setRotationAngle(0); // 触摸旋转 mPieChart.setRotationEnabled(false); mPieChart.setHighlightPerTapEnabled(false); //模拟数据 ArrayList<PieEntry> entries = new ArrayList<PieEntry>(); entries.add(new PieEntry(20,"有效订单:20")); entries.add(new PieEntry(5,"其他订单:5")); //设置数据 setData(entries); mPieChart.animateY(1400, Easing.EasingOption.EaseInOutQuad); Legend l = mPieChart.getLegend(); l.setVerticalAlignment(Legend.LegendVerticalAlignment.CENTER); l.setHorizontalAlignment(Legend.LegendHorizontalAlignment.LEFT); l.setOrientation(Legend.LegendOrientation.VERTICAL); l.setDrawInside(false); l.setXEntrySpace(7f); l.setYEntrySpace(0f); l.setYOffset(0f); l.setTextSize(14f); // 输入标签样式 mPieChart.setEntryLabelColor(Color.WHITE); mPieChart.setEntryLabelTextSize(18f); } //设置中间文字 private SpannableString generateCenterSpannableText() { //原文:MPAndroidChart\ndeveloped by Philipp Jahoda SpannableString s = new SpannableString("25\n总订单数量"); return s; } //设置数据 private void setData(ArrayList<PieEntry> entries) { PieDataSet dataSet = new PieDataSet(entries,""); dataSet.setSliceSpace(3f); dataSet.setSelectionShift(5f); dataSet.setValueTextSize(textsize); //数据和颜色 ArrayList<Integer> colors = new ArrayList<Integer>(); colors.add(getResources().getColor(R.color.red)); colors.add(getResources().getColor(R.color.yellow)); dataSet.setColors(colors); PieData data = new PieData(dataSet); data.setValueFormatter(new PercentFormatter()); data.setValueTextSize(textsize); data.setValueTextColor(Color.WHITE); mPieChart.setData(data); mPieChart.setDrawEntryLabels(false); mPieChart.highlightValues(null); //刷新 mPieChart.invalidate(); } }就可以实现想要的效果了
也可以下载完整的demo,希望对你们有所帮助, 地址是:http://download.csdn.net/download/u012075012/9983893