二话不说,先上图

核心代码如下:

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 饼图渐变效果的更多相关文章

  1. android 使用AChartEngine 饼图的实现

    1.AChartEngine 简介 AChartEngine是为Android应用而设计的绘图工具库.可用于绘制多种图表,我使用的是achartengine-1.1.0.jar.ChartEngine ...

  2. Android achartengine统计图

    最近在安卓2.2上写个实时的监控程序,要用到统计图.从网上搜了下 Java4Less (http://java4less.com/charts/chart.php?info=android)     ...

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

    要用TextView使用渐变色,那我们就必须要了解LinearGradient(线性渐变)的用法. LinearGradient的参数解释 LinearGradient也称作线性渲染,LinearGr ...

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

    转载请注明:http://blog.csdn.net/ly20116/article/details/50905789 MPAndroidChart是一个非常优秀的开源图表库,MPAndroidCha ...

  5. Android AChartEngine 个性化设置

    AChartEngine的确是一个强大的图标引擎,但文档写得不是很详细,很多设置只能通过方法名推测和实际尝试,下面是一些自己在实际中遇到的需要设置的选项,常见的那些和通过方法名就能轻松猜到的就不赘述了 ...

  6. Android AChartEngine 去除折线图黑边

    通常使用AChartEngine画出的折线图,如果背景不是黑色,则会在折线图的坐标轴旁边出现黑边,如图所示: 试了好多设置,最后终于发现,去除黑边的设置是: mRenderer.setMarginsC ...

  7. android AChartEngine图标引擎

    AChartEngine 1.在androi开发中的时候很多时候是要用图表将数据直观的显示出来的,这里就要用到AChartEngine. XMultipleSeriesRenderer 是经常要用到的 ...

  8. Android 应用启动渐变效果

    /** * 应用程序启动类:显示欢迎界面并跳转到主界面 * @author liux (http://my.oschina.net/liux) * @version 1.0 * @created 20 ...

  9. android AChartEngine源代码

    昨天翻自己曾经下过的apache开源project项目,看到一个AChartEnginee看了一下自带的Demo才意识到这个东西的强大.立刻想把源代码down一份,在CSDN上有人挂5分让人下载,实在 ...

随机推荐

  1. MFC 屏幕截图方法

    //获取当前屏幕的并且保存图片 LRESULT CFeetScanView::SaveViewBMP(WPARAM wParam, LPARAM lParam) { CRect rect; this- ...

  2. 2.ViewBag、ViewData、TempData之间的区别

    1.ViewBag and ViewData(非跨视图访问) 1)ViewBag是一种dynamic动态类型,用户可以自定义属性并为其赋值,它会在运行时动态解析(例:可以作为变量.数组等各种对象传递并 ...

  3. LayaAir引擎——(四)

    LayaAir引擎 TiledMap 使用 所需要的软件: Tiled地图编辑器 版本0.16.2 LayaAir IDE 所需要的图片:图块图片(1.png) 步骤1: 文件->新文件-> ...

  4. Linux使用mount挂载samba共享

    # 挂载smb使用读写777权限sudo mount -t cifs -o "rw,dir_mode=0777,file_mode=0777,username=winuser,passwor ...

  5. 使用 itext、flying-saucer 实现html转PDF(转)

    转自 http://blog.csdn.net/mhouwei62/article/details/51394804 表示感谢 itext-2.1.7高于此版本已经更新为AGPL授权,不建议使用. 添 ...

  6. mmzb游戏事故分析

    最近一次线上更新,老项目挂了,遍地哀嚎,日活跃掉了好多,心痛... 这次维护时,SA为了缩减硬件资源,做了一次数据库迁移.给到开发手上的player db,只有一些索引数据,不带有任一玩家数据.玩家上 ...

  7. PHP构造方法

    构造方法 1.(特殊)对象创建完成后第一个自动调用的方法: 2.(特殊)方法名比较特殊,方法名可以与类相同: 3.给对象中的成员赋初始值: class boyfriend{ public $name; ...

  8. OpenGL坐标变换及其数学原理,两种摄像机交互模型(附源程序)

    实验平台:win7,VS2010 先上结果截图(文章最后下载程序,解压后直接运行BIN文件夹下的EXE程序): a.鼠标拖拽旋转物体,类似于OGRE中的“OgreBites::CameraStyle: ...

  9. 十分钟让你的javascript登峰造极

    javascipt被称作前端的灵魂,没法灵活运用它,你的前端就只是一具行死走肉.大多初学者能顺利度过div+css,然后倒在了js怀抱,即时跨过了这一关,也只是会用,其底层原理一概不知.小编这就带大家 ...

  10. 信号量 semaphore 和 @synchronized 的运用

    1. //创建全局队列 dispatch_queue_t queue = dispatch_get_global_queue(0, 0); //创建信号量 dispatch_semaphore_t s ...