当前位置: 代码迷 >> Android >> android 传感器应用 Compass指南针的实现功能
  详细解决方案

android 传感器应用 Compass指南针的实现功能

热度:69   发布时间:2016-05-01 09:53:43.0
android 传感器使用 Compass指南针的实现功能

以下是指南针通过方向传感器而旋转实现。

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(R.layout.compass);	imageView=(ImageView)findViewById(R.id.znzImage);	mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);}		@Override	protected void onResume() {		mSensorManager.registerListener(this,mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME);		super.onResume();	}			@Override	protected void onPause() {		mSensorManager.unregisterListener(this);		super.onPause();	}		@Override	protected void onStop() {		mSensorManager.unregisterListener(this);		super.onStop();	}	@Override	public void onAccuracyChanged(Sensor arg0, int arg1) {			}	@Override	public 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:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"	android:orientation="vertical"	android:layout_width="fill_parent"	android:layout_height="fill_parent"	android:background="#fff"	><ImageView	android:id="@+id/znzImage"	android:layout_width="fill_parent"	android:layout_height="fill_parent"	android:scaleType="fitCenter"	android:src="@drawable/znz" /></LinearLayout>

在这里给大家分享一下指南针图片znz:



  相关解决方案