如何让它在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)); 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; } }}解决方法 您可以通过更改X轴上的可见区域来执行此 *** 作:
renderer.setXAxisMin(min);renderer.setXAxisMax(max);总结
以上是内存溢出为你收集整理的android – 如何使用AChartEngine动态线图和X轴自动平移(滚动)?全部内容,希望文章能够帮你解决android – 如何使用AChartEngine动态线图和X轴自动平移(滚动)?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)