,图片神马的在网上搜个指南针图片就好了,本来没有注释,发上来之后感觉不行,还是加上吧,方便学习
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
>
<ImageView
android:id="@+id/compass_imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/compass" />
</LinearLayout>
compass.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 ComPassActivity extends Activity implements SensorEventListener {
private ImageView imageView;
private float currentDegree = 0f;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.compass);
imageView = (ImageView) findViewById(R.id.compass_imageView);
// 传感器管理器
SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE);
// 注册传感器(Sensor.TYPE_ORIENTATION(方向传感器);SENSOR_DELAY_FASTEST(0毫秒延迟);
// SENSOR_DELAY_GAME(20,000毫秒延迟)、SENSOR_DELAY_UI(60,000毫秒延迟))
sm.registerListener(ComPassActivity.this,
sm.getDefaultSensor(Sensor.TYPE_ORIENTATION),
SensorManager.SENSOR_DELAY_FASTEST);
}
//传感器报告新的值(方向改变)
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {
float degree = event.values[0];
/*
RotateAnimation类:旋转变化动画类
参数说明:
fromDegrees:旋转的开始角度。
toDegrees:旋转的结束角度。
pivotXType:X轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
pivotXValue:X坐标的伸缩值。
pivotYType:Y轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。
pivotYValue:Y坐标的伸缩值
*/
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;
}
}
//传感器精度的改变
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
分享到:
相关推荐
电子罗盘的工作原理及校准 电子罗盘,电子指南针,android.pdf电子罗盘的工作原理及校准 电子罗盘,电子指南针,android.pdf电子罗盘的工作原理及校准 电子罗盘,电子指南针,android.pdf电子罗盘的工作原理及校准 电子...
电子罗盘的工作原理及校准 电子罗盘,电子指南针,android.docx电子罗盘的工作原理及校准 电子罗盘,电子指南针,android.docx电子罗盘的工作原理及校准 电子罗盘,电子指南针,android.docx电子罗盘的工作原理及校准 电子...
当然Android系统只是负责将这些传感器所输出的信息传递给我们,然后我们可以利用这些信息去开发一些好玩的应用。 图片神马的在网上搜个指南针图片就好了,方便学习 main.xml <?xml version=1.0 encoding=utf-8...
安卓应用-手机工具-360罗盘指南针方位 v4.4.9.zip
GY-26电子指南针资料(串口+IIC+温度) GY-26 是一款低成本平面数 字罗盘模块。输入电压低,功耗小,体积小。其工作原理是通过磁传感器中两个相互垂直轴同时感应地球磁场的磁分量,从而得出方位角度,此罗盘以RS232...
基于51单片机的PZ-HMC5883L 三轴磁场传感器-数字罗盘实验.,包含说明书,布线,源码,烧录文件
GY-271+QMC5883L电子指南针罗盘模块+三轴磁场传感器
电子罗盘的工作原理及校准电子罗盘,电子指南针,android.pdf
电子罗盘的工作原理及校准电子罗盘电子指南针android.docx
HMC5883L电子指南针罗盘模块+三轴磁场传感器 AVR单片机源代码
参考资料-基于STC单片机的电子罗盘-超声波测障系统设计.zip
电子设计大赛相关的资源。 如果您觉得这些免费资源对您有帮助的话,我会非常感谢您的支持,您可以考虑给我点赞或关注,这将是对我分享内容的一种鼓励,也会让我更有动力继续分享更多有价值的资源。非常感谢您的关注...
电子罗盘 方位角度传感器 高精度,相应快
KVH C100 指南针模块 电子罗盘资料 压缩包内容: 数据表 英文 用户手册 英文 用户手册 中文翻译 调试程序 DOS版及windows版 2018_10_15整理
电子罗盘,显示经度纬度
compass-animation, 指南针的css3动画插件 这里插件主要用于将动画添加到较老版本的指南针中。 Compass版本的Compass在合并了这个代码,所以这个插件不需要。 我们不会再更新它了。如果你正在寻找 Animate.css的...
电子罗盘的原理是根据吃力传感器以及加速传感器的原理
Android 指南针(磁力计)演示(2011 年 3 月) 使用 Android 传感器 API 的简单罗盘演示 要求:Android SDK r07+ Eclipse ADT