android 饼状报表的 简化动画 使用简单 注解我基本加上了
来源:互联网 发布:java long转int 编辑:程序博客网 时间:2024/06/08 04:35
package com;
import java.util.ArrayList;
import com.example.piedemo.R;
import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.components.Legend.LegendPosition;
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.listener.OnChartValueSelectedListener;
import com.github.mikephil.charting.utils.Highlight;
import com.github.mikephil.charting.utils.PercentFormatter;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity implements OnChartValueSelectedListener{
private PieChart mChart;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initLayout();
}
private void initLayout(){
mChart=(PieChart) this.findViewById(R.id.chart);
mChart.setDescription("");
//中间圆心颜色和大小控制
mChart.setHoleColorTransparent(true);
mChart.setHoleColor(Color.BLUE);
mChart.setHoleRadius(0f);
mChart.setDrawHoleEnabled(false);
//触摸滑动控制
mChart.setRotationAngle(0);
mChart.setRotationEnabled(true);
mChart.setOnChartValueSelectedListener(this);
//中间文字控制
mChart.setDrawCenterText(true);
//输入相对的名字
ArrayList<String> xVals=new ArrayList<String>();
xVals.add("收入");
xVals.add("支出");
//输入百分比数据
float[] mults={(float) 25.5,(float) 74.5};
//输入百分比所占区域对应颜色
ArrayList<Integer> colors=new ArrayList<Integer>();
colors.add(Color.RED);
colors.add(Color.BLUE);
//将三项的数据填入对应的值段
setData(xVals, mults, colors);
//动画旋转速度
mChart.animateXY(1500, 1500);
//是否先旋转
// mChart.spin(2000, 0, 360);
//控制饼状图输入输出的边块位置
Legend l = mChart.getLegend();
l.setPosition(LegendPosition.RIGHT_OF_CHART);
l.setXEntrySpace(7f);
l.setYEntrySpace(5f);
}
@Override
public void onNothingSelected() {
// TODO Auto-generated method stub
Log.i("PieChart", "nothing selected");
}
@Override
public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {
// TODO Auto-generated method stub
if (e == null)
return;
Log.i("VAL SELECTED",
"Value: " + e.getVal() + ", xIndex: " + e.getXIndex()
+ ", DataSet index: " + dataSetIndex);
}
private void setData(ArrayList<String> xVals,float[] mults,ArrayList<Integer> colors){
ArrayList<Entry> yVals=new ArrayList<Entry>();
//遍历数据
if(mults!=null&&mults.length>0){
for(int i=0;i<mults.length;i++){
yVals.add(new Entry(mults[i], i));
}
}
PieDataSet dataSet=new PieDataSet(yVals, "");
//控制百分比之间的间距
// dataSet.setSliceSpace(3f);
dataSet.setColors(colors);
PieData data = new PieData(xVals, dataSet);
data.setValueFormatter(new PercentFormatter());
//设置字体大小
data.setValueTextSize(12f);
//设置字体颜色
data.setValueTextColor(Color.WHITE);
mChart.setData(data);
mChart.highlightValues(null);
mChart.invalidate();
}
}
源码下载我已上传到我的CSND
1 0
- android 饼状报表的 简化动画 使用简单 注解我基本加上了
- Android动画的基本使用
- android动画的简单使用
- ChartDirector 官方的例子,加上了我的注释,比jfreechart简单些
- 通过JAVA注解简化android的findViewById
- Android动画基本使用
- Android属性动画的基本使用
- Android中补间动画的基本使用
- android动画的使用(上-基本用法)
- android三大动画的基本使用
- android三大动画的基本使用
- android 属性动画的基本使用
- Android注解框架(ButterKnife的简单使用)
- Android中注解的简单使用
- 注解的基本使用
- 写了一个从oracle导数据到hbase的多线程java程序,只要创建一个实体加上注解基本就可以导数据了
- android 简单动画使用
- Android动画:AnimationDrawable资源的简单使用
- iOS应用架构谈(一):架构设计的方法论
- linux ACL
- ASP.NET Web API中如何传递参数
- JavaScript的相关内容
- Servlet_02:基础知识
- android 饼状报表的 简化动画 使用简单 注解我基本加上了
- Python3.3 学习笔记 20160309
- Spring事务异常回滚,捕获异常不抛出就不会回滚
- eclipse 查找文件和类的快捷键
- .NET:System.Security.Cryptography.CryptographicException 的解决办法
- unity 3D 5.3.3官方最新版 完整包下载,包含所有补丁包
- aix用命令查监听端口对应的进程
- ”设置类“包含多控制器的TableViewController的详细使用
- JAVA远程调试设置