简介

AndroidChart">MPAndroidChart是PhilJay大神给Android开发者带来的福利。MPAndroidChart是一个功能强大并且使用灵活的图表开源库,支持Android和IOS两种,这里我们暂时只关注Android版本。

Wiki

https://github.com/PhilJay/MPAndroidChart/wiki

https://jitpack.io/com/github/PhilJay/MPAndroidChart/v3.0.0-beta1/javadoc/

今日之图~PieChart

先看下效果压压惊,右边的图为左边的图横向拉伸后的效果

实际静态效果,上面那个是因为加了动画,录制Gif的时候不小心弄成了一直旋转的效果喎�"/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxpbWcgYWx0PQ=="这里写图片描述" src="/uploadfile/Collfiles/20160906/2016090609284137.png" title="" />

布局文件

对于Chart,可以采用布局文件添加方式,也可以采用代码添加方式。

代码

public class MainActivity extends AppCompatActivity {

@Bind(R.id.piechart)

PieChart piechart;

private Random random;//用于产生随机数字

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ButterKnife.bind(this);

random = new Random();

initPieChart();//初始化饼图

}

private void initPieChart() {

ArrayList yVals = new ArrayList<>(); //值坐标

ArrayList xVals = new ArrayList<>();//对应的Lable,可以理解成X轴

for (int i = 0; i < 5; i++) {

xVals.add((i + 1) + "月");

yVals.add(new BarEntry(random.nextInt(10000), i));

}

PieDataSet pieDataSet = new PieDataSet(yVals, "小明每月支出");//创建饼图的一个数据集

pieDataSet.setColors(ColorTemplate.COLORFUL_COLORS); //设置成丰富多彩的颜色

DisplayMetrics metrics = getResources().getDisplayMetrics();

float px = 10 * (metrics.densityDpi / 160f);

pieDataSet.setSelectionShift(px); //点击后延伸出来的长度

PieData piedata = new PieData(xVals, pieDataSet);//生成PieData

piechart.setData(piedata);//给PieChart填充数据

piechart.getLegend().setPosition(Legend.LegendPosition.ABOVE_CHART_LEFT);

piechart.getLegend().setForm(Legend.LegendForm.CIRCLE);//设置注解的位置和形状

piechart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {//设置值选择时的Listener

@Override

public void onValueSelected(Entry entry, int i, Highlight highlight) {

Toast.makeText(MainActivity.this, "Something selected value = " + entry.getVal(), Toast.LENGTH_SHORT).show();//单纯地显示一个Toast

}

@Override

public void onNothingSelected() {

}

});

piechart.setCenterText("收支明细");//中间写的文字

piechart.setCenterTextColor(Color.RED);//设置中间文字的颜色

piechart.setCenterTextRadiusPercent(0.5f);//设置文字显示的角度,180横着,默认是竖着

piechart.setCenterTextSize(12f);//设置中心文字的字体大小

piechart.setCenterTextTypeface(null);//设置字体

piechart.setDrawCenterText(true);//中心字使能开关,false时中间无法显示文字

piechart.setTransparentCircleAlpha(100);//透明圈的透明度,分3圈,一个是外面的值,然后是这个,然后就是下面的那个Hole

piechart.setTransparentCircleColor(Color.RED); //设置颜色

piechart.setTransparentCircleRadius(50f);//设置半径

piechart.setDrawHoleEnabled(true);//基本同上

piechart.setHoleColor(Color.GREEN);

piechart.setHoleRadius(30f);

piechart.setDescription("No Deal");//设置描述文字

piechart.setDescriptionTextSize(20.f);//设置描述文字的字体

piechart.animateXY(1000, 1000);

}

}

值选择时的事件处理

上面的例子中其实已经有了

piechart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {//设置值选择时的Listener

@Override

public void onValueSelected(Entry entry, int i, Highlight highlight) {

Toast.makeText(MainActivity.this, "Something selected value = " + entry.getVal(), Toast.LENGTH_SHORT).show();//单纯地显示一个Toast

}

@Override

public void onNothingSelected() {

}

});

选中和啥都没干的回调,利用这个回调我们可以做一些跳转操作,比如从国家级报表,跳转到省级,然后市级 and so on.

piechart 文档 android,(Android 应用之路) MPAndroidChart~PieChart相关推荐

  1. android11用石墨文档,轻协作 | 石墨文档 for Android 版轻体验

    前几天喜闻石墨文档终于推出 Android 版本,算是全面支持 ios.Android 和 web 平台.身为 Android 用户,可以告别体验不佳的 web 端,下面为大家送上石墨文档 for A ...

  2. android程序打印,通过iPrintScan软件打印文档(适用于Android安卓)

    文档标题:通过iPrint&Scan软件打印文档(适用于Android安卓) 文档代码:CHN-FP0576-1 最近修改日期:2020年11月19日 通过iPrint&Scan软件打 ...

  3. Android程序解析xml至文档中,Android开发之DOM解析xml文件的方法

    本文实例讲述了Android中DOM解析xml文件的方法.分享给大家供大家参考,具体如下: 一.在assets文件中写xml文件 李明 30 李向梅 25 二.在service中写一个DOM解析的操作 ...

  4. Windows 下 OpenCV 3.4.0 + Contrib 部署文档 (VS2015 Android)

    声明 以下[参考]链接,如有侵权,请联系删除,在此先感谢在网络上无私奉献的人们~ 如有错误,请联系更正,GitHub同文地址 文章目录 声明 VS 篇 编译 OpenCV + OpenCV_Contr ...

  5. win7我的文档里.android是什么文件夹,[转载]移动Win7用户文件夹(我的文档)默认位置至D盘...

    Windows7的用户文件夹默认所在位置是系统盘(通常是C盘)下的"Users"目录之内.该文件夹中储存着所有的用户生成文件,比如你保存在"桌面"上的文件(实际 ...

  6. piechart 文档 android,Android饼图 PieChart

    PieChart 饼图,android 图表.会根据定义PieChartView的大小自动居中,所以如果要调整位置,只需要在xml更改PieChartView位置大小即可. 1.先看一下效果图: 展示 ...

  7. piechart 文档 android,Android MPAndroidChart之PieChart和数据结构以及模型【5】

    Android MPAndroidChart之PieChart和数据结构以及模型[5] 以MPAndroidChart的饼状图PieChart为例. 测试的MainActivity的Java代码: p ...

  8. piechart 文档 android,mpchart piechart:如何在android中显示特定的只有一个文本值

    试试这个. piechart = (PieChart) findViewById(R.id.piechart); piechart.setUsePercentValues(true); ArrayLi ...

  9. 大疆文档(8)-Android教程-模拟器App

    本节全篇为大疆 Mobile SDK 安卓教程 部分,ios教程参见 IOS教程 . 模拟器应用程序 在本教程中,你可以学习如何使用DJI Mobile SDK在你的Android Studio项目中 ...

最新文章

  1. python3编码命名规范_Python代码规范和命名规范
  2. linux kvm安装windows,Linux下KVM安装windows
  3. kotlin sealed 中_7.8 Kotlin Sealed类
  4. 学习进度条——第八周
  5. 递归不行就换动态规划(洛谷P1028题题解,Java语言描述)
  6. java array 元素的位置_JAVA集合类,有这一篇就够了
  7. 电大计算机机考excel,中央电大计算机应用机考excel电子表格模板题库存(118页)-原创力文档...
  8. wxpython多线程_WxPython 4.0.4多线程访问UI
  9. OSPF路由协议配置实例
  10. CentOS配置postgresql+postsql
  11. otc焊接机器人编程模拟软件_OTC机器人编程
  12. cad安装日志文件发生错误_CAD安装问题,CAD安装时为什么显示内部发生错误急?...
  13. org.jboss.netty.internal.LoggerConfigurator.DESCRIBED is already registered
  14. 远程实时调试手机上的web页面
  15. 猫和计算机连接网络,计算机路由器与猫的连接方法步骤
  16. mongoose 更新保存数据的时候自动插入__v
  17. [禅悟人生]有一种禅心叫认真
  18. 学计算机编程难吗,计算机编程入门 计算机编程难学吗
  19. python开发工具之神兵利器_擅用Python,强推这 7 种 神兵利器!
  20. C#中接口(Interface)与抽象类(abstract)的区别

热门文章

  1. 三个主要的国外虚拟主机管理系统
  2. 智能补货 (在途、现有库存、安全库存) 的思路
  3. discuz android源码分析,Discuz 原生手机客户端,完全开源!包括android及ios源码。...
  4. 今天开始学习用vs.net开发smartphone软件
  5. MailUtil-Java发送邮件工具类
  6. pyserial中的巨坑!
  7. jQuery(二)图片轮播与放大显示
  8. 计算机专业的硕士犯罪,中国刑事警察学院计算机犯罪侦查系介绍
  9. linux中的管道定义,Linux 管道命令是什么?
  10. 修改服务器的ip地址的命令行,修改服务器的ip地址的命令行