以下是指南针通过方向传感器而旋转实现。
CompassDemo.java:
package com.example.activity;import android.app.Activity;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import android.hardware.SensorManager;import android.os.Bundle;import android.view.animation.Animation;import android.view.animation.RotateAnimation;import android.widget.ImageView;public class CompassDemo extends Activity implements SensorEventListener {private ImageView imageView;SensorManager mSensorManager;private float currentDegree=0f;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(pass);imageView=(ImageView)findViewById(R.id.znzImage);mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);}@Overrideprotected void onResume() {mSensorManager.registerListener(this,mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME);super.onResume();}@Overrideprotected void onPause() {mSensorManager.unregisterListener(this);super.onPause();}@Overrideprotected void onStop() {mSensorManager.unregisterListener(this);super.onStop();}@Overridepublic void onAccuracyChanged(Sensor arg0, int arg1) {}@Overridepublic void onSensorChanged(SensorEvent event) {int sensortype=event.sensor.getType();switch(sensortype){case Sensor.TYPE_ORIENTATION:float degree=event.values[0];RotateAnimation ra=new RotateAnimation(currentDegree,-degree,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);ra.setDuration(200);imageView.startAnimation(ra);currentDegree=-degree;break;}}}
compass.xml:
在这里给大家分享一下指南针图片znz:
本文转载自:CSDN博客
欢迎加入我爱机器学习QQ14群:336582044
微信扫一扫,关注我爱机器学习公众号
如果觉得《android 指南针传感器 android 传感器使用 Compass指南针的实现功能》对你有帮助,请点赞、收藏,并留下你的观点哦!