public class MainActivity extends Activity {

private ImageView imageView;
private SensorManager manager;
private SensorListener listener = new SensorListener();

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

imageView = (ImageView) this.findViewById(R.id.imageView);
imageView.setKeepScreenOn(true);
manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
}

@Override
protected void onResume() {
Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
manager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_GAME);

super.onResume();
}

@Override
protected void onPause() {
manager.unregisterListener(listener);
super.onPause();
}

private final class SensorListener implements SensorEventListener{
private float predegree = 0;
public void onSensorChanged(SensorEvent event) {
float degree = event.values[0];//存放了方向值 90
RotateAnimation animation = new RotateAnimation(predegree, -degree,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
animation.setDuration(200);
imageView.startAnimation(animation);

predegree = -degree;
}

public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}


}

更多相关文章

  1. 居中的ImageSpan
  2. android 重力感应手机方向
  3. Android(安卓)Studio配置OpenCV
  4. 模拟器上“插入”SD卡
  5. Android系统文件目录结构
  6. Android的userlogin登录
  7. Sensor.TYPE_ORIENTATION 方向传感器,转向晕了个头
  8. 把文件存放在SDCard
  9. MTK Android(安卓)G sensor 原理,配置,调试

随机推荐

  1. Android UI系列-----RelativeLayout的相
  2. Android 给TextView添加点击事件
  3. Android修改Gallery页面布局
  4. Android 资源文件中@、@android:type、@*
  5. android:inputType常用取值
  6. android:layout_gravity和android:gravit
  7. TextView碉堡了!android源代码的一些统计
  8. ImageView的android:maxHeight,android:mi
  9. Android 基本概念
  10. android 开发环境建立