Android使用MPAndroidChat
参考文档:
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相关推荐
- Android大型实战:《亲信,优雅的从入门到进阶》-刘桂林-专题视频课程
Android大型实战:<亲信,优雅的从入门到进阶>-5972人已学习 课程介绍 课程从入门到,实战经验丰富,通俗易懂,我将带领大家学习一些新技术,新概念! 课程基本上拜托 ...
- Unity5.6+ 导出Android 应用程序apk的环境配置及导出过程
首先下载并安装安卓SDK和java的JDK 安卓sdk下载: http://www.android-studio.org/ 也可以在这下载: 链接:http://pan.baidu.com/s/1bp ...
- Android 的NDK的Makefile编写
Android.mk 是google根据Linux GNU Makefile精简编译脚本.具体来说:这就是GNU Makefile的一小部分. 举一个简单例子: LOCAL_PATH := $(cal ...
- Android Animation (安卓动画)概念简介
Android Animation Android 四种动画分别为逐帧动画和补间动画.属性动画.过渡动画: Frame Animation (逐帧动画) 实现方式:xml 和 Java代码 图片跳转的 ...
- 基于Android和SpringBoot的购物App
(Shopping)购物应用商城 本软件使用Android和SpringBoot.JavaWeb技术实现:并结合百度LBS平台的SDK.支付宝App支付客户端SDK.MobTech的ShareSDK: ...
- Android数据持久化:SharePreference
SharePreference:作为Android数据持久化的一种,具有一定的便捷性,适合存储一些体积小的数据. 存储数据方式:键值对的方式,类似于Map: 利用SharePreference.Edi ...
- Android数据持久化:文件存储
数据持久化: 数据可分为瞬时数据和关键数据.保存在内存之中的数据是瞬时数据,而对于一些关键性数据,后期需要持续使用的,应当保存在存储设备中: 持久化保存方式: 文件存储.SharePreference ...
- Android Studio中RecycerView依赖库加载问题
依赖包导入思考: 参考资料:recycleview导包问题 打开修改本项目中的build.gradle; 切勿着急添加包,应当提前查看其中的版本号(因为加载的v7包要和其版本保持一致性): 例如: 因 ...
- Android布局优化之include、merge、ViewStub
include:引入重复使用的相同布局 merge:减少include布局的层级,将子元素直接添加到merge标签的parent中 ViewStub:其实就是一个宽高都为0的一个View,它默认是不可 ...
最新文章
- 机器学习博士自曝:实验室「阉割」我的创造力,劝你别读
- 深究的东西 - HTML5地理应用
- (个人)Zookeeper集群环境部署
- 面向对象--接口的实际应用--制定标准
- 苹果7手机严重卡顿_为什么苹果手机运存那么小,却不会卡顿?而安卓却不行!长知识了...
- 求数列1/3到1/n之和
- oracle自带的sql语言环境变量,Oracle技术网—SQL*Plus系统环境变量有哪些?如何修改?...
- Linux命令之reset - 终端屏幕混乱的终结者
- 瑞典驻华参赞:智慧城市建设提升为国家战略
- springboot快速入门【小白也能看懂】
- hbase 安装_如何搭建一个HBase集群
- 昆仑通态如何连接sqlserver数据库_[其他]:MCGS与其他组态软件及ERP软件协同应用...
- 记录使用itextpdf通过定位插入图片和文字
- java 释放锁_Java并发编程:锁的释放
- 月均播放超2.8亿,vlog会是品牌B站推广新风口吗?
- alt tab无法切换窗口
- 单元测试、API接口测试、灰盒测试
- 自己动手制作C 语言编译器(8):表达式
- 软件产品检测测试报告找谁做?出测试报告机构推荐
- Hexo界面美化_实用插件配置
热门文章
- python list转换成array_一文掌握Python【不定期更新】
- python 学习中遇到的问题(持续更新中)
- 基础篇--Java IO--概览
- Java修炼之路——基础篇——值传递
- P4590 [TJOI2018]游园会 dp套dp + 状态机
- AtCoder Regular Contest 061 E - Snuke‘s Subway Trip(建图 + dijkstra最短路 / 0/1bfs / 并查集)
- 猜数(二分、线段树)
- P7988-[USACO21DEC] HILO G【set,线段树】
- P4929-[模板]舞蹈链(DLX)
- P3389-[模板]高斯消元法