Android AChartEngine 饼图渐变效果

二话不说,先上图

核心代码如下:

private void initLabelChat(View rootView) {
        NumberFormat nf = new DecimalFormat("#.# 小时");

        final DefaultRenderer renderer = new DefaultRenderer();
        final CategorySeries series = new CategorySeries("");

        LinearLayout layout = (LinearLayout) rootView
                .findViewById(R.id.pie_statistic_by_label);
        final GraphicalView chartView = ChartFactory.getPieChartView(
                getActivity(), series, renderer);

        chartView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SeriesSelection seriesSelection = chartView
                        .getCurrentSeriesAndPoint();
                if (seriesSelection == null) {
                    /*
                     * Toast.makeText(getActivity(),
                     * "No chart element selected", Toast.LENGTH_SHORT) .show();
                     */
                } else {
                    for (int i = 0; i < series.getItemCount(); i++) {
                        renderer.getSeriesRendererAt(i).setHighlighted(
                                i == seriesSelection.getPointIndex());
                    }
                    chartView.repaint();
                }
            }
        });

        renderer.setClickEnabled(true);
        renderer.setPanEnabled(false);
        renderer.setDisplayValues(false);

        layout.addView(chartView, new LayoutParams(700, 700));

        renderer.setZoomButtonsVisible(false);
        renderer.setZoomEnabled(false);
        renderer.setDisplayValues(true);
        renderer.setShowLegend(false);

        renderer.setLabelsTextSize(30f);
        renderer.setLabelsColor(Color.DKGRAY);
        renderer.setShowGrid(true);
        renderer.setAntialiasing(true);

        series.add("样本1", 5);

        SimpleSeriesRenderer seriesRenderer = new SimpleSeriesRenderer();
        seriesRenderer.setGradientEnabled(true);
        seriesRenderer.setChartValuesFormat(nf);
        seriesRenderer.setGradientStart(0, Color.rgb(0x04, 0xa3, 0xff));
        seriesRenderer.setGradientStop(0.8, Color.rgb(0x00, 0x89, 0xd8));
        seriesRenderer.setDisplayChartValues(false);
        renderer.addSeriesRenderer(seriesRenderer);

        series.add("样本2", 8);

        seriesRenderer = new SimpleSeriesRenderer();
        seriesRenderer.setGradientEnabled(true);
        seriesRenderer.setChartValuesFormat(nf);
        seriesRenderer.setGradientStart(0, Color.rgb(0xff, 0xb0, 0x0d));
        seriesRenderer.setGradientStop(0.8, Color.rgb(0xce, 0x97, 0x00));
        seriesRenderer.setDisplayChartValues(false);
        renderer.addSeriesRenderer(seriesRenderer);

        series.add("样本3", 6);

        seriesRenderer = new SimpleSeriesRenderer();
        seriesRenderer.setGradientEnabled(true);
        seriesRenderer.setChartValuesFormat(nf);
        seriesRenderer.setGradientStart(0, Color.rgb(0x00, 0xbc, 0x66));
        seriesRenderer.setGradientStop(0.8, Color.rgb(0x01, 0x80, 0x46));
        seriesRenderer.setDisplayChartValues(false);
        renderer.addSeriesRenderer(seriesRenderer);

        series.add("样本4", 3);

        seriesRenderer = new SimpleSeriesRenderer();
        seriesRenderer.setGradientEnabled(true);
        seriesRenderer.setChartValuesFormat(nf);
        seriesRenderer.setGradientStart(0, Color.rgb(0xff, 0x6e, 0xf6));
        seriesRenderer.setGradientStop(0.8, Color.rgb(0xff, 0x00, 0xde));
        seriesRenderer.setDisplayChartValues(false);
        renderer.addSeriesRenderer(seriesRenderer);

        chartView.repaint();
    }
其实很简单,设置渐变开启,然后设置渐变颜色即可

seriesRenderer.setGradientEnabled(true);seriesRenderer.setGradientStart(0, Color.rgb(0x04, 0xa3, 0xff));seriesRenderer.setGradientStop(0.8, Color.rgb(0x00, 0x89, 0xd8));

其中还有一个设置饼图值的方法,需要先创建一个NumberFormat
NumberFormat nf = new DecimalFormat("#.# 小时");

然后调用下面的方法即可
seriesRenderer.setChartValuesFormat(nf);
 

Android AChartEngine 饼图渐变效果,布布扣,bubuko.com

时间: 2024-08-24 15:50:45

Android AChartEngine 饼图渐变效果的相关文章

android 使用AChartEngine 饼图的实现

1.AChartEngine 简介 AChartEngine是为Android应用而设计的绘图工具库.可用于绘制多种图表,我使用的是achartengine-1.1.0.jar.ChartEngine支持的图表类型:折线图.区域图.散点图.时间图.柱状图.饼状图.气泡式图表.环形图.高低交替图等. 以上每种图表都可以包含多个序列, 可以将X轴以水平或垂直的形式显示,也支持很多自定义的特性.另外,图表可以作为View构建,也可以作为Intent构建这样可以被用于启动一个活动(Activity).

android实现文字渐变效果和歌词进度的效果

要用TextView使用渐变色,那我们就必须要了解LinearGradient(线性渐变)的用法. LinearGradient的参数解释 LinearGradient也称作线性渲染,LinearGradient的作用是实现某一区域内颜色的线性渐变效果,看源码你就知道他是shader的子类. 它有两个构造函数 public LinearGradient(float x0, float y0, float x1, float y1, int color0, int color1, Shader.T

Android PieChart 饼图控件

今天写一个饼图自定义View的文章.由于公司的项目需要用到饼图,UI给的设计图和自己找的一个饼图框架的标题位置不符,所以就自己画了一个. 1,使用预览 PieChart mChart mChart = (PieChart) findViewById(R.id.pieChar); mChart = (PieChart) findViewById(R.id.pieChar); String[] titles = new String[] {"钱包余额","金钱袋资产",

android AChartEngine学习

一.AChartEngine总体介绍 AChartEngine : 每个图表都需要一个数据集 (Dataset) 和 渲染器集合 (Renderer); -- 数据集 : 又由许多数据组成 -- 渲染器 : 也由不同的子渲染器组成 -- 获取Activity或组件 : 图表工厂 (ChartFactory) 通过调用数据集 (Dataset)和渲染器集合 (Renderer) 可以生成带图表的 GraphicalView 或者 GraphicalActivity 例如:图表工厂 (ChartFa

Android AChartEngine

此文为转载,非本人原创,尊重原创 最近一段时间完成“体重记录”的功能,需要实现日历和曲线的效果.也花费不少精力吧,这里就先把曲线的实现分享出来,俗话说的好:“好记忆不如烂笔头”! AChartEngine是什么? AChartEngine是一个android应用的图表库,他支持一些常见的一些图表,如线状图,区域图,散点图,时间图,柱状图,饼状图,气泡图等.当然这次只用到了线状图.项目地址在http://code.google.com/p/achartengine/ 下面先看下这次项目中实现的效果

android AChartEngine 问题总结

问题1:android.database.CursorIndexOutOfBoundsException:Index -1 requested, with a size of 1 解决:这个问题是在使用cursor时候出现的,在android中对数据表进行查询,返回的结果集需要用cursor来接收,但在遍历cursor时,需要注意的是cursor的初始位置是从下标为-1的地方开始的,也就是说一次查询中,返回给cursor查询结果时,不能够马上从cursor中提取值.因此在对cursor做遍历操作

android MPAndroidChart饼图实现图例后加数字或文本(定制图例)

转载请注明:http://blog.csdn.net/ly20116/article/details/50905789 MPAndroidChart是一个非常优秀的开源图表库,MPAndroidChart可以绘制各种常用的图表类型:折线图.柱形图.饼图.散点图等等. github地址:https://github.com/PhilJay/MPAndroidChart 具体的导入方式就不再详细的说了,本文主要解决在图例后面加上数字或文本或占的百分比等,也就是定制想要的图例. MPAndroidCh

Android画折线图、柱状图、饼图(使用achartengine.jar)

自从用了画折线的jar包之后,就不想再用canvas画布去画了,编程就是要站在巨人的肩膀上. 所需要的jar包achartenginejar 折线代码布局文件就不上传了很简单 另一种线的渲染器 扇形图代码 柱状图代码 属性总结部分代码 新测试代码下载地址 所需要的jar包:achartengine.jar 下载地址:http://download.csdn.net/detail/zhengyikuangge/9460642 折线代码(布局文件就不上传了,很简单): package com.exa

android开发图表achartengine之饼图

第一步:从工厂里面获取一个饼图对象 GraphicalView graphicalView=ChartFactory.getPieChartView(getBaseContext(), dataset, renderer);//饼状图第二步:设置dataset数据 double[] values={412.0,542.0,486.0,900.1}; CategorySeries dataset=buildCategoryDataset("测试饼图", values); protecte