android 感應器使用 Compass指南針的實現功能

來源:互聯網
上載者:User

以下是指南針通過方向感應器而旋轉實現。 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;      @Override  protected 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: 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.