,图片神马的在网上搜个指南针图片就好了,本来没有注释,发上来之后感觉不行,还是加上吧,方便学习

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"><ImageViewandroid: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 电子罗盘 --指南针(方向传感器的应用)相关推荐

  1. Android 电子罗盘--指南针(方向传感器的应用)

    转载自: http://blog.csdn.net/onlyonecoder/article/details/8475653 图片神马的在网上搜个指南针图片就好了,本来没有注释,发上来之后感觉不行,还 ...

  2. Android实例-OrientationSensor方向传感器(XE8+小米2)

    相关资料: <修复 XE8 for Android 方向传感器 headingX,Y,Z 不会动的问题>:http://www.cnblogs.com/onechen/p/4497282. ...

  3. android系统重力感应传感器 方向控制与方向切换,android sensor orientation 方向传感器 重力感应...

    首先,获取方向传感器(参照http://developer.android.com/reference/android/hardware/SensorManager.html): publicclas ...

  4. Android传感器之-方向传感器Orientation功能实现与源码

    先明确一下空间坐标系的三个方向: x 方向就是手机的水平方向,右为正: y 方向就是手机的水平垂直方向,前为正: z 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负. 方向角的定义是手机y ...

  5. Android 传感器之方向传感器

    一般情况下,在android系统中获取手机的方位信息在api中有TYPE_ORIENTATION常量,可以像得到加速度传感器那样得到方向传感器sm.getDefaultSensor(Sensor.TY ...

  6. Android -- 传感器使用示例, 用方向传感器做指南针

    1. 传感器类型:方向.加速度(重力).光线.磁场.距离(临近性).温度等. 方向传感器:   Sensor.TYPE_ORIENTATION 加速度(重力)传感器: Sensor.TYPE_ACCE ...

  7. Android 方向传感器与磁力计和加速度传感器之间的关系

    一般情况下,在android系统中获取手机的方位信息azimuth似乎是很简单的事情,在api中有TYPE_ORIENTATION常量,可以像得到加速度传感器那样得到方向传感器sm.getDefaul ...

  8. Android 利用方向传感器实现 指南针

    step1:新建一个项目Compass,并将一张指南针图片导入到res/drawable-hdpi目录中 step2:设计应用的UI界面,main.xml <?xml version=" ...

  9. Android 利用方向传感器实现 指南针

    step1:新建一个项目Compass,并将一张指南针图片导入到res/drawable-hdpi目录中 step2:设计应用的UI界面,main.xml <?xml version=" ...

最新文章

  1. Javascript中最常用的61段经典代码
  2. 在程序中集成地址簿、电子邮件和地图功能
  3. python爬取有道词典_利用Python3和Charles爬取有道词典,生成翻译exe单文件
  4. Spring-AOP @AspectJ语法基础
  5. jpa 多层嵌套一对多_OpenJPA-嵌套的一对多关系合并问题
  6. 在 App 扩展和主 App 间共享数据
  7. Spring整合mybatis中的sqlSession是如何做到线程隔离的?
  8. C语言 · 未名湖边的烦恼
  9. redis——旧版复制
  10. 【记录】jenkins 安装及环境配置(二)
  11. 单缸发动机扭矩动力学计算:理论计算virtual.lab motion仿真
  12. 关于数据库中有自增主键时如何插入数据?
  13. 对《Java核心技术卷一》读者的一些建议
  14. latex linux 安装,Linux 安装LaTeX
  15. 大数据促进中小企业快递航运战略三种方法
  16. 9_1 法律法规标准化
  17. c语言字母分别代表的意思,C语言中%c,%s分别代表什么意思? 在C语言中c% 和 d% 是表示什么意思?...
  18. Linux驱动基础开发
  19. java代码编译过程_Java代码编译和执行的整个过程
  20. gitbash登录码云报错_git之sourceTree操作流程

热门文章

  1. 用C#开发一个 DNF文字版 【一】
  2. UL1007 UL1015与AWG
  3. Preserving Prefix Integrity
  4. 可否推荐一个香港主机?
  5. keras自然语言处理(五)
  6. 行业了解——挂耳咖啡
  7. 赵小楼《天道》深度解析(75)客观是对现有事实的认可,嘴上认可可不行,得心里认,否则就是自欺
  8. docker 进入容器方法
  9. Excel使用---excel2016___一般操作(搬,侵删)
  10. iOS多线程编程之NSThread的使用(★★★推荐,为原作者点赞★★★)