- 浏览: 103982 次
- 性别:
- 来自: 温州
文章分类
最新评论
-
q316085319:
www.glmei.cn
android spinner修改 样式 -
q316085319:
www.glmei.cn
android spinner修改 样式 -
348724481:
ducp123 写道348725767 写道bailin_ys ...
achartengine动态加载数据 -
cnyangqi:
。。。我还以为是demo。。。
zTree拖拽效果 -
简屋_l:
请问下楼主怎么改变弹出窗口的整体背景色 不是item背景
android spinner修改 样式
现在项目有个需求就是利用achartengine动态的加载数据,当拖动图表时会下载几条数据,拖动的轨迹越长,加载的数据就越多。网上查了些资料,找不到这样的例子。于是自己写了个package com.cng;
import java.util.ArrayList; import java.util.List; import org.achartengine.ChartFactory; import org.achartengine.chart.PointStyle; import org.achartengine.model.XYMultipleSeriesDataset; import org.achartengine.model.XYSeries; import org.achartengine.renderer.XYMultipleSeriesRenderer; import org.achartengine.renderer.XYSeriesRenderer; import android.R.integer; import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.graphics.Paint.Align; import android.os.Bundle; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.LinearLayout; public class DynLoadActivity extends Activity { /** Called when the activity is first created. */ private XYMultipleSeriesDataset mDataset=new XYMultipleSeriesDataset();; private XYSeries mAtentionSeries=new XYSeries("哈哈哈"); //全局变量 , 记录条数 private int total=0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String[] titles = new String[] { "Crete"}; int[] colors = new int[] { Color.BLUE}; PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE}; XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles); int length = renderer.getSeriesRendererCount(); for (int i = 0; i < length; i++) { ((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true); } setChartSettings(renderer, "Average temperature", "Month", "Temperature", 0.5, 12.5, -10, 2000, Color.LTGRAY, Color.LTGRAY); // renderer.setXAxisMin(0); // renderer.setXAxisMax(100); renderer.setXLabels(12); renderer.setYLabels(10); renderer.setShowGrid(true); renderer.setXLabelsAlign(Align.RIGHT); renderer.setYLabelsAlign(Align.RIGHT); renderer.setZoomButtonsVisible(true); renderer.setPanLimits(new double[] { -10, 2000, -10, 2000 }); renderer.setZoomLimits(new double[] { -10, 2000, -10, 2000 }); LinearLayout linearLayout=(LinearLayout)findViewById(R.id.linear); total++; mAtentionSeries.add(1, 11); mDataset.addSeries(mAtentionSeries); View view = ChartFactory.getLineChartView(this,mDataset , renderer); linearLayout.addView(view); view.setOnTouchListener(new OnTouchListener() { int x=0; int x2=0; public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { //按下时触发 //判断是否向做移动 if(x-x2>0) { //获取要从服务器获取的条数 int length=(x-x2)/20; //添加数据至图标中 for(int i=0;i<length;i++) { /** toatal可当做参数传至服务器上来获取数据 * 因为获取数据时必须获取的是少量的中间的连续数据 * 可从for循环外面将参数total,total+length传入获取数据库中的第total到total+length数据 */ total++; Log.e(total+"", total+""); mAtentionSeries.add(total, total); } } //将触摸式按下的横坐标记住 x=(int) event.getX(); } case MotionEvent.ACTION_MOVE: { //移动时触发 //将触摸时手指离开时的横坐标记录 x2=(int) event.getX(); } case MotionEvent.ACTION_UP: { //触摸后触发 } } return false; } }); } private XYMultipleSeriesRenderer buildRenderer(int[] colors, PointStyle[] styles) { XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); // 控制横纵轴的属性字大小 renderer.setAxisTitleTextSize(15); // 控制横纵轴的值大小 renderer.setChartTitleTextSize(20); renderer.setLabelsTextSize(15); renderer.setLegendTextSize(15); renderer.setPointSize(5f); renderer.setMargins(new int[] { 20, 30, 15, 0 }); int length = colors.length; for (int i = 0; i < length; i++) { XYSeriesRenderer r = new XYSeriesRenderer(); r.setColor(colors[i]); r.setPointStyle(styles[i]); renderer.addSeriesRenderer(r); } return renderer; } private void setChartSettings(XYMultipleSeriesRenderer renderer, String title, String xTitle, String yTitle, double xMin, double xMax, double yMin, double yMax, int axesColor, int labelsColor) { renderer.setChartTitle(title); renderer.setXTitle(xTitle); renderer.setYTitle(yTitle); renderer.setXAxisMin(xMin); renderer.setXAxisMax(xMax); renderer.setYAxisMin(yMin); renderer.setYAxisMax(yMax); renderer.setAxesColor(axesColor); renderer.setLabelsColor(labelsColor); } private XYMultipleSeriesDataset buildDataset(String[] titles, List<double[]> xValues, List<double[]> yValues) { XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); int length = titles.length; for (int i = 0; i < length; i++) { XYSeries series = new XYSeries(titles[i]); double[] xV = xValues.get(i); double[] yV = yValues.get(i); int seriesLength = xV.length; for (int k = 0; k < seriesLength; k++) { series.add(xV[k], yV[k]); } dataset.addSeries(series); } return dataset; } }
其实原理很简单 就是捕获ontouch事件的ACTION_DOWN ,ACTION_UP事件,记下他们的x坐标。在下一次ACTION_DOWN 时出发加载数据事件,我这里没有调用访问webservice事件,
只是模拟了几个数据。
这代码很水,望指教
评论
13 楼
348724481
2013-12-12
ducp123 写道
348725767 写道
bailin_ys 写道
348725767 写道
天涯jelly 写道
你好,我用achartengine做出来的图,我想设置整个布局的背景,为什莫运行出来后变成了那个图标的背景呢,四周都是黑色的呢?
貌似我也遇到过,但是没解决。。
我也纠结了好久,发现一个方法可以解决,renderer.setMarginsColor(color);
因为backgroundColor只是图标中间绘图部分的背景颜色,所以要使周边也变色就要加上这句了。
学习了
你好!!我想问一下,他怎么去获取list里面的数据?list类型为List<May<String,Object>> data ;请问怎么获取data里面的数据来进行数据的build呢?
下面的背景改不了啊
12 楼
ducp123
2012-08-24
348725767 写道
bailin_ys 写道
348725767 写道
天涯jelly 写道
你好,我用achartengine做出来的图,我想设置整个布局的背景,为什莫运行出来后变成了那个图标的背景呢,四周都是黑色的呢?
貌似我也遇到过,但是没解决。。
我也纠结了好久,发现一个方法可以解决,renderer.setMarginsColor(color);
因为backgroundColor只是图标中间绘图部分的背景颜色,所以要使周边也变色就要加上这句了。
学习了
你好!!我想问一下,他怎么去获取list里面的数据?list类型为List<May<String,Object>> data ;请问怎么获取data里面的数据来进行数据的build呢?
11 楼
348725767
2012-08-12
bailin_ys 写道
348725767 写道
天涯jelly 写道
你好,我用achartengine做出来的图,我想设置整个布局的背景,为什莫运行出来后变成了那个图标的背景呢,四周都是黑色的呢?
貌似我也遇到过,但是没解决。。
我也纠结了好久,发现一个方法可以解决,renderer.setMarginsColor(color);
因为backgroundColor只是图标中间绘图部分的背景颜色,所以要使周边也变色就要加上这句了。
学习了
10 楼
bailin_ys
2012-08-07
348725767 写道
天涯jelly 写道
你好,我用achartengine做出来的图,我想设置整个布局的背景,为什莫运行出来后变成了那个图标的背景呢,四周都是黑色的呢?
貌似我也遇到过,但是没解决。。
我也纠结了好久,发现一个方法可以解决,renderer.setMarginsColor(color);
因为backgroundColor只是图标中间绘图部分的背景颜色,所以要使周边也变色就要加上这句了。
9 楼
hubenshan
2012-04-18
按还在学习学习学习!
8 楼
cn23snyga
2012-04-18
图表的背景与它的父容器背景是分开的。
图表中有一个属性,可以设置穿透背景色,就可以显示出其父容器的背景了
而且设置图表的背景,同时还要设置图表背景生效的一个属性。
我的图表已经重做了,使用Canvas 绘图,因为项目需求又要增加更多的关于图表的操作
个人认为,使用ACE制表,只适合单一的图表显示,不适合在其上增加操作
自己绘图,可以更好的控制图表的坐标,增加响应事件。
图表中有一个属性,可以设置穿透背景色,就可以显示出其父容器的背景了
而且设置图表的背景,同时还要设置图表背景生效的一个属性。
我的图表已经重做了,使用Canvas 绘图,因为项目需求又要增加更多的关于图表的操作
个人认为,使用ACE制表,只适合单一的图表显示,不适合在其上增加操作
自己绘图,可以更好的控制图表的坐标,增加响应事件。
7 楼
348725767
2012-04-17
天涯jelly 写道
你好,我用achartengine做出来的图,我想设置整个布局的背景,为什莫运行出来后变成了那个图标的背景呢,四周都是黑色的呢?
貌似我也遇到过,但是没解决。。
6 楼
天涯jelly
2012-04-17
你好,我用achartengine做出来的图,我想设置整个布局的背景,为什莫运行出来后变成了那个图表的背景呢,四周都是黑色的呢?
5 楼
天涯jelly
2012-04-17
你好,我用achartengine做出来的图,我想设置整个布局的背景,为什莫运行出来后变成了那个图标的背景呢,四周都是黑色的呢?
4 楼
cn23snyga
2012-03-07
348725767 写道
cn23snyga 写道
或者换个说法,拆线图表中,如何获取到横、纵坐标的节点值?怎样和屏幕坐标换算呢?
或者可不可以在节点处加一图形,我就想在点击这个节点时,弹出一个pop窗口,不是任意一点都可以弹,只是在节点处触发!!?
请贵博赐教!!!
或者可不可以在节点处加一图形,我就想在点击这个节点时,弹出一个pop窗口,不是任意一点都可以弹,只是在节点处触发!!?
请贵博赐教!!!
这个我不知道。。我也是新手。。也没深入研究过。。
要么你去网上找找看,他那个图表的移动肯定也是根据横纵坐标来移动的。
问题解决了,实现方法有点笨拙,就是换算图表和屏幕坐标,期待大家有更好的方法实现。
有需要的朋友可以联系我QQ:14561917
3 楼
348725767
2012-02-18
cn23snyga 写道
或者换个说法,拆线图表中,如何获取到横、纵坐标的节点值?怎样和屏幕坐标换算呢?
或者可不可以在节点处加一图形,我就想在点击这个节点时,弹出一个pop窗口,不是任意一点都可以弹,只是在节点处触发!!?
请贵博赐教!!!
或者可不可以在节点处加一图形,我就想在点击这个节点时,弹出一个pop窗口,不是任意一点都可以弹,只是在节点处触发!!?
请贵博赐教!!!
这个我不知道。。我也是新手。。也没深入研究过。。
要么你去网上找找看,他那个图表的移动肯定也是根据横纵坐标来移动的。
2 楼
cn23snyga
2012-02-16
或者换个说法,拆线图表中,如何获取到横、纵坐标的节点值?怎样和屏幕坐标换算呢?
或者可不可以在节点处加一图形,我就想在点击这个节点时,弹出一个pop窗口,不是任意一点都可以弹,只是在节点处触发!!?
请贵博赐教!!!
或者可不可以在节点处加一图形,我就想在点击这个节点时,弹出一个pop窗口,不是任意一点都可以弹,只是在节点处触发!!?
请贵博赐教!!!
1 楼
cn23snyga
2012-02-16
请教贵博,用ACE 绘制出的图表,可以捕捉到点击事件的坐标值吗?(注:是图表中的坐标,而不是屏幕的坐标,或者有好方法可以二者换算也可以)
另:贵博很强大,膜拜!!!
另:贵博很强大,膜拜!!!
发表评论
-
新建heroku java服务端
2012-10-16 17:19 1424heroku就是你可以将项目托管至他们的服务器,然 ... -
照片涂涂涂源码
2012-04-17 19:18 1261最近整理了下自己做的小软件的源码。贡献给大家。 做的小软件的 ... -
照片涂鸦操作说明
2012-04-10 20:27 1427照片涂鸦 “照片涂涂涂”是一款对图片进行涂写的软件 ... -
开发了个安卓软件-照片涂鸦
2012-04-10 20:28 1391最近学习android开发的时候,觉得有必要做个小软件练练手, ... -
android 本地语音开发
2011-11-03 15:37 1511最近在做一个android 平台上的语音应用,android自 ... -
android ormlite 登录注册的例子
2011-08-31 17:29 3722ormlite的资料真少,网上很难找,就干脆自己看些api,以 ... -
android orm映射框架 ormlite (类似于hibernate) 很强大
2011-08-30 21:56 6957初学android不久,由于我是以前学过j2ee,什么ssh曾 ... -
android自定义listview
2011-08-29 20:11 1846这是我从网上找的,稍做修改,分享下。 xml布局文件有 ... -
android top弹出框
2011-08-29 20:04 1537android top弹出框的实现原理:当要弹出菜单的时候将隐 ... -
android 实现3d旋转
2011-08-29 19:40 1976通过继承Animation动画类 封装了一个3d旋转的效果代 ... -
android封装的menu自定义菜单列表
2011-08-16 01:41 2085自己封装的menu自定义菜单列表,首先必须创建一个类继承act ... -
新收集的android的gallery 立体样式的
2011-08-16 01:25 2248新收集的android的gallery 立体样式的 -
android 绑定sqlite数据库与程序一起发布
2011-08-12 00:50 1578由于需求需要某程序一安装就得有几个数据 , 而现在的程序是 ... -
android 图表插件 achartengine
2011-08-09 00:40 1887android 比较实用的图表插件 可放大 缩小 功能 ... -
android spinner修改 样式
2011-08-09 00:30 25744做到一种样式 android 的spinner本身背景样式要 ... -
android自定义按钮控件样式
2011-08-09 00:03 2263android自定义控件其实就是定义一个xml按钮控件样式然后 ...
相关推荐
否则那些数据都会被加载,最后重新绘制饼图,构建动态饼图的步骤主要分为以下四步,还需要在项目中引入AChartEngine依赖jar包,在Manifest中添加<activityandroid:name="org.achartengine.GraphicalActivity" />
achartengine绘制动态柱状图,详细注释,,,,,,,
Android图表引擎AChartEngine实现动态柱状图,可以实时传入数据实时刷新图表
使用 AChartEngine 实现 折线图的动态 绘图 自动滚动
使用AChartEngine图表库实现动态饼图,可以实时传入数据并刷新饼图
官方的API并没有提供可以借鉴的动态更新饼图的方法,考虑到数据都是活动的,不可能总是用静态数据,所以我下面的demo就是模拟动态数据用饼图显示,但是肯定可以使用的,具体是通过定时器+Handler实现定时任务,通过...
有疑问可以到我的博客咨询, ... 本代码为前人在博客中所述代码改编的,因为原文只有博文没有代码,就写了一个。...原文地址:achartengine画出动态折线图http://blog.csdn.net/ykm0722/article/details/8106612
android 绘制折线图(AChartEngine)Linechart 动态更新横轴为,利用网络解析数据,获取当前系统时间,动态生成Linechart 。
用AChartEngine实现的动态折线图
基于achartengine双Y轴动态图表Android源码,画的是折线图随x轴移动并实时更新数据,当然也可以弄成别的图,长时间运行内存不会溢出,WHO用WHO开心
使用AchartEngine图表库实现折线图图表,可以动态刷新数据,可以动态设置一条或多条折线同时刷新,博客中有实例效果图
本次代码用于利用achartengine绘制折线图,分析了achartengine得主要结构方法,适用于初学者参考学习
该文档简单的实现了利用achartengine实现了分段曲线的动态刷新,运行环境是Android Studio
Android开发(柱状图/饼图)achartengine
AChartEngine是为android应用而设计的绘图工具库。目前该库的最新稳定版本是0.7,支持绘制以下类型的图表: ?line chart ?area chart ?scatter chart ?time chart ?bar chart ?pie chart ?bubble chart ?doughnut ...
Android使用AChartEngine制作动态心电图效果