android 动态移动xy,android – 如何使用AChartEngine动态线图和X轴自动平移(滚动)?...
我使用AChartEngine Api创建了动态折线图,显示了G-Force值的变化.一切正常,但当图形在X轴向前移动时,我必须在X轴上手动滚动才能进一步查看,如果您没有正确使用我,请查看下面的图像.
如何让它在x轴上自动滚动以避免手动滚动?
以下是我的代码
public class GraphActivity extends Activity implements SensorEventListener{
private LinearLayout lyGforce;
//=== G-force =======
private SensorManager mSensorManager;
private Sensor mAccelerometer;
private float gOffset;
private boolean calibrate;
private static TimeSeries timeSeriesGforce;
private static XYMultipleSeriesDataset datasetGforce;
private static XYMultipleSeriesRenderer rendererGforce;
private static XYSeriesRenderer rendererSeriesGforce;
private static GraphicalView viewGforce;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.mainactivity);
lyGforce = (LinearLayout) findViewById(R.id.lygforce);
//=========== G-force =======
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
datasetGforce = new XYMultipleSeriesDataset();
rendererGforce = new XYMultipleSeriesRenderer();
rendererGforce.setApplyBackgroundColor(true);
rendererGforce.setBackgroundColor(Color.argb(100, 50, 50, 50));
rendererGforce.setAxisTitleTextSize(16);
rendererGforce.setChartTitleTextSize(20);
rendererGforce.setLabelsTextSize(15);
rendererGforce.setLegendTextSize(15);
rendererGforce.setMargins(new int[] { 20, 30, 15, 0 });
rendererGforce.setZoomButtonsVisible(true);
rendererGforce.setPointSize(10);
rendererGforce.setShowGrid(true);
rendererGforce.setGridColor(Color.WHITE);
rendererSeriesGforce = new XYSeriesRenderer();
rendererSeriesGforce.setColor(Color.GREEN);
rendererSeriesGforce.setLineWidth(2);
rendererGforce.addSeriesRenderer(rendererSeriesGforce);
timeSeriesGforce = new TimeSeries("G-Force");
datasetGforce.addSeries(timeSeriesGforce);
viewGforce = ChartFactory.getTimeChartView(this, datasetGforce, rendererGforce, "");
viewGforce.refreshDrawableState();
viewGforce.repaint();
lyGforce.addView(viewGforce);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
// ============= G-force ==================//
calibrate = true;
mSensorManager.registerListener(this, mAccelerometer,
SensorManager.SENSOR_DELAY_UI);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
//========== G-force=============//
mSensorManager.unregisterListener(this);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
//========== G-force=============//
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
switch (event.sensor.getType()) {
case Sensor.TYPE_ACCELEROMETER:
float x = event.values[0];
float y = event.values[1]; // Use to calculate G-Force value
float z = event.values[2];
if(calibrate)
gOffset = y - SensorManager.GRAVITY_EARTH;
double gForce = ((y - gOffset) / SensorManager.GRAVITY_EARTH);
timeSeriesGforce.add(new Date(), gForce);
rendererGforce.setXAxisMax(rendererGforce.getXAxisMax() + 30);
rendererGforce.setXAxisMin(rendererGforce.getXAxisMin() + 30);
viewGforce.repaint();
Log.e("NIRAV","G-Force: "+String.valueOf(gForce));
calibrate = false;
break;
default:
break;
}
}
}
android 动态移动xy,android – 如何使用AChartEngine动态线图和X轴自动平移(滚动)?...相关推荐
- 【Android 应用开发】Android 图表绘制 achartengine 示例解析
作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38420197 一. AChartEngine 简介 1. 项 ...
- android 动态人脸识别码,android OpenCV研究之动态人脸识别
随着直播渐渐的火起来,像抱着直播大腿的其他功能也渐渐的火起来了,比如说人脸识别.说起人脸识别用处甚广,比如说有以这个功能为核心的app:美颜相机.美图秀秀.SNOW等等,但是美颜相机和美图秀秀是用的国 ...
- android asynctask源码分析,Android通过Handler与AsyncTask两种方式动态更新ListView(附源码)...
本文实例讲述了Android通过Handler与AsyncTask两种方式动态更新ListView的方法.分享给大家供大家参考,具体如下: 有时候我们需要修改已经生成的列表,添加或者修改数据,noti ...
- android manifest 权限组,Android的单个或多个权限动态申请
前言 在Android 6.0(API 级别 23)以下申请权限是非常简单的,直接在AndroidManifest.xml这个配置文件中加入申请权限的列表就可以了,比如我要申请四个权限,如下: 但是在 ...
- android 动态设置padding,Android动态设置控件大小以及设定margin以及padding值
http://www.aichengxu.com/Java/73893.htm Android动态设置控件大小以及设定margin以及padding值,有需要的朋友可以参考下. 一.概述 在andro ...
- Android 插件化原理学习 —— Hook 机制之动态代理
前言 为了实现 App 的快速迭代更新,基于 H5 Hybrid 的解决方案有很多,由于 webview 本身的性能问题,也随之出现了很多基于 JS 引擎实现的原生渲染的方案,例如 React Nat ...
- (转载)Android GradientDrawable(shape标签定义) 静态使用和动态使用(圆角,渐变实现)
最近被吐槽界面太丑,还是很尴尬的,全公司就一个UI设计师,所以很多事情还是不忍直视,一个同事问我,背景可不可以使用渐变的感觉,然后我就有种突然感觉眼前一亮的感觉.还真的没有做过这方面的东西,单纯使用渐 ...
- 【Android 逆向】类加载器 ClassLoader ( 使用 DexClassLoader 动态加载字节码文件 | 拷贝 DEX 文件到内置存储 | 加载并执行 DEX 字节码文件 )
文章目录 一.拷贝 Assets 目录下的 classes.dex 字节码文件到内置存储区 二.加载 DEX 文件并执行其中的方法 三.MainActivity 及执行结果 四.博客资源 一.拷贝 A ...
- 【Android 逆向】Android 进程注入工具开发 ( 远程进程注入动态库文件操作 | 注入动态库 加载 业务动态库 | 业务动态库启动 | pthread_create 线程开发 )
文章目录 前言 一.加载 libnattive.so 动态库 二. libnattive.so 动态库启动 三. pthread_create 线程开发 四. 线程执行函数 前言 libbridge. ...
最新文章
- Django快速分页
- 银行启动开放战略,能否赢回金融科技下半场?
- centos 6.4 /var/log/secure 不记录日志的問題
- git常见的回退操作
- java dictionary 实例化_Java Dictionary put()用法及代码示例
- java wate_Trapping Rain Water leetcode java
- Apache Flink 结合 Kafka 构建端到端的 Exactly-Once 处理
- 科学计算机clr,科学计算器按键功能汇总
- mysql openfileslimit 设置_mysql open_files_limit值更改无效
- ORACLE分页查询SQL语法——高效的分页
- arcgis中dem坐标定义_ArcGIS中的地理坐标系转换方法参数(二) | 学步园
- 服务器显示AL024是什么意思,云端时代云终端快速部署指南(S11AL).ppt
- 2021年T电梯修理考试题及T电梯修理模拟考试题
- 计算机课搞事情检讨,【热门】作弊检讨书范文10篇
- Lens shading
- 题解 - [POI2008]KUP-Plot purchase
- rss下载_Microsoft下载中心RSS提要
- 论游戏中Buff的实现
- Android 蓝牙
- 中国火炬统计年鉴(2008-2021)