参考文档:
https://blog.csdn.net/u013184970/article/details/52095170
https://blog.csdn.net/cen_yuan/article/details/52204281
注意:
在要使用的module的build.gradle添加:
dependencies {
compile ‘com.github.PhilJay:MPAndroidChart:v3.0.0-beta1’
}
与compile 'com.github.PhilJay:MPAndroidChart:v2.2.5’有些不同!
案例使用的是2.2.5

一、说明

bulid.gradle(project)中添加
allprojects {
repositories {
jcenter()
maven { url “https://jitpack.io” }
}
}
bulid.gradle(app)中添加
dependencies {
compile ‘com.github.PhilJay:MPAndroidChart:v2.2.5’
}

二、XML代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.zjs.mpandroidchart.MainActivity"><com.github.mikephil.charting.charts.PieChartandroid:id="@+id/consume_pie_chart"android:layout_width="match_parent"android:layout_height="400dp"android:layout_gravity="center_horizontal"android:layout_marginLeft="16dp"android:layout_marginRight="16dp"></com.github.mikephil.charting.charts.PieChart><TextViewandroid:id="@+id/botton_text"android:textSize="25dp"android:textColor="#f00"android:text=""android:gravity="center_horizontal"android:layout_width="match_parent"android:layout_height="wrap_content"/></LinearLayout>

三、activity代码

package com.zjs.mpandroidchart;import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.DisplayMetrics;
import android.widget.TextView;import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieData;
import com.github.mikephil.charting.data.PieDataSet;
import com.github.mikephil.charting.formatter.ValueFormatter;
import com.github.mikephil.charting.utils.ViewPortHandler;import java.util.ArrayList;public class MainActivity extends AppCompatActivity {public PieChart mChart;private TextView mText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mChart = (PieChart) findViewById(R.id.consume_pie_chart);
//        初始化饼状图数据类PieData mpieData = getPieData();mText = (TextView) findViewById(R.id.botton_text);mText.setText("全年消费情况");showMchat(mChart, mpieData);}private void showMchat(PieChart pieChart, PieData pieData) {
//        设置饼状图中心透明pieChart.setHoleColor(Color.TRANSPARENT);
//        //设置描述
//        pieChart.setDescription("全年消费情况");
//        //设置描述字体大小
//        pieChart.setDescriptionTextSize(50f);
//        //设置描述颜色
//        pieChart.setDescriptionColor(Color.RED);
//        //设置描述字体
//        pieChart.setDescriptionTypeface(Typeface.DEFAULT);
//       pieChart.setDescriptionPosition(666,1300);//          设置饼状图的半径pieChart.setHoleRadius(60f);
//        饼状图添加文字pieChart.setDrawHoleEnabled(true);pieChart.setCenterText("家庭支出");pieChart.setCenterTextSize(26f);pieChart.setCenterTextColor(Color.RED);//        初始选择角度pieChart.setRotationAngle(90);
//        设置手动可以旋转pieChart.setRotationEnabled(true);
//        设置百分比显示pieChart.setUsePercentValues(true);pieChart.setData(pieData);
//        设置比例图Legend mlegend = pieChart.getLegend();mlegend.setPosition(Legend.LegendPosition.RIGHT_OF_CHART);mlegend.setTextSize(15);mlegend.setTextColor(Color.RED);mlegend.setXEntrySpace(7f);mlegend.setYEntrySpace(5f);//        初始动画pieChart.animateXY(1000, 1000);}private PieData getPieData() {
//      衣食住行以及其他ArrayList<String> xValues = new ArrayList<>();xValues.add("衣");xValues.add("食");xValues.add("住");xValues.add("行");xValues.add("其他");ArrayList<Entry> yValues = new ArrayList<>();float y1 = 10;float y2 = 20;float y3 = 25;float y4 = 40;float y5 = 5;yValues.add(new Entry(y1, 0));yValues.add(new Entry(y2, 1));yValues.add(new Entry(y3, 2));yValues.add(new Entry(y4, 3));yValues.add(new Entry(y5, 4));
//        PieDataSet pieDataSet = new PieDataSet(yValues, "2018年家庭支出");PieDataSet pieDataSet = new PieDataSet(yValues, "");pieDataSet.setSliceSpace(1f);ArrayList<Integer> colour = new ArrayList<>();
//      饼状图颜色colour.add(Color.RED);colour.add(Color.BLUE);colour.add(Color.YELLOW);colour.add(Color.GRAY);colour.add(Color.GREEN);pieDataSet.setColors(colour);pieDataSet.setValueTextColor(Color.BLACK);pieDataSet.setValueTextSize(25);pieDataSet.setValueFormatter(new ValueFormatter() {@Overridepublic String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {return "" + (int) value + "%";}});DisplayMetrics metrics = getResources().getDisplayMetrics();float px = 5 * (metrics.densityDpi / 180f);pieDataSet.setSelectionShift(px);PieData pieData = new PieData(xValues, pieDataSet);return pieData;}
}

4、效果图

Android使用MPAndroidChat相关推荐

  1. Android大型实战:《亲信,优雅的从入门到进阶》-刘桂林-专题视频课程

    Android大型实战:<亲信,优雅的从入门到进阶>-5972人已学习 课程介绍         课程从入门到,实战经验丰富,通俗易懂,我将带领大家学习一些新技术,新概念! 课程基本上拜托 ...

  2. Unity5.6+ 导出Android 应用程序apk的环境配置及导出过程

    首先下载并安装安卓SDK和java的JDK 安卓sdk下载: http://www.android-studio.org/ 也可以在这下载: 链接:http://pan.baidu.com/s/1bp ...

  3. Android 的NDK的Makefile编写

    Android.mk 是google根据Linux GNU Makefile精简编译脚本.具体来说:这就是GNU Makefile的一小部分. 举一个简单例子: LOCAL_PATH := $(cal ...

  4. Android Animation (安卓动画)概念简介

    Android Animation Android 四种动画分别为逐帧动画和补间动画.属性动画.过渡动画: Frame Animation (逐帧动画) 实现方式:xml 和 Java代码 图片跳转的 ...

  5. 基于Android和SpringBoot的购物App

    (Shopping)购物应用商城 本软件使用Android和SpringBoot.JavaWeb技术实现:并结合百度LBS平台的SDK.支付宝App支付客户端SDK.MobTech的ShareSDK: ...

  6. Android数据持久化:SharePreference

    SharePreference:作为Android数据持久化的一种,具有一定的便捷性,适合存储一些体积小的数据. 存储数据方式:键值对的方式,类似于Map: 利用SharePreference.Edi ...

  7. Android数据持久化:文件存储

    数据持久化: 数据可分为瞬时数据和关键数据.保存在内存之中的数据是瞬时数据,而对于一些关键性数据,后期需要持续使用的,应当保存在存储设备中: 持久化保存方式: 文件存储.SharePreference ...

  8. Android Studio中RecycerView依赖库加载问题

    依赖包导入思考: 参考资料:recycleview导包问题 打开修改本项目中的build.gradle; 切勿着急添加包,应当提前查看其中的版本号(因为加载的v7包要和其版本保持一致性): 例如: 因 ...

  9. Android布局优化之include、merge、ViewStub

    include:引入重复使用的相同布局 merge:减少include布局的层级,将子元素直接添加到merge标签的parent中 ViewStub:其实就是一个宽高都为0的一个View,它默认是不可 ...

最新文章

  1. 机器学习博士自曝:实验室「阉割」我的创造力,劝你别读
  2. 深究的东西 - HTML5地理应用
  3. (个人)Zookeeper集群环境部署
  4. 面向对象--接口的实际应用--制定标准
  5. 苹果7手机严重卡顿_为什么苹果手机运存那么小,却不会卡顿?而安卓却不行!长知识了...
  6. 求数列1/3到1/n之和
  7. oracle自带的sql语言环境变量,Oracle技术网—SQL*Plus系统环境变量有哪些?如何修改?...
  8. Linux命令之reset - 终端屏幕混乱的终结者
  9. 瑞典驻华参赞:智慧城市建设提升为国家战略
  10. springboot快速入门【小白也能看懂】
  11. hbase 安装_如何搭建一个HBase集群
  12. 昆仑通态如何连接sqlserver数据库_[其他]:MCGS与其他组态软件及ERP软件协同应用...
  13. 记录使用itextpdf通过定位插入图片和文字
  14. java 释放锁_Java并发编程:锁的释放
  15. 月均播放超2.8亿,vlog会是品牌B站推广新风口吗?
  16. alt tab无法切换窗口
  17. 单元测试、API接口测试、灰盒测试
  18. 自己动手制作C 语言编译器(8):表达式
  19. 软件产品检测测试报告找谁做?出测试报告机构推荐
  20. Hexo界面美化_实用插件配置

热门文章

  1. python list转换成array_一文掌握Python【不定期更新】
  2. python 学习中遇到的问题(持续更新中)
  3. 基础篇--Java IO--概览
  4. Java修炼之路——基础篇——值传递
  5. P4590 [TJOI2018]游园会 dp套dp + 状态机
  6. AtCoder Regular Contest 061 E - Snuke‘s Subway Trip(建图 + dijkstra最短路 / 0/1bfs / 并查集)
  7. 猜数(二分、线段树)
  8. P7988-[USACO21DEC] HILO G【set,线段树】
  9. P4929-[模板]舞蹈链(DLX)
  10. P3389-[模板]高斯消元法