Android 电子罗盘--指南针(方向传感器的应用)
转载自:
http://blog.csdn.net/onlyonecoder/article/details/8475653
图片神马的在网上搜个指南针图片就好了,本来没有注释,发上来之后感觉不行,还是加上吧,方便学习
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>
![](http://static.blog.csdn.net/images/save_snippets.png)
compass.Activity
![](http://static.blog.csdn.net/images/save_snippets_01.png)
- 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 电子罗盘--指南针(方向传感器的应用)相关推荐
- Android 电子罗盘 --指南针(方向传感器的应用)
,图片神马的在网上搜个指南针图片就好了,本来没有注释,发上来之后感觉不行,还是加上吧,方便学习 main.xml <?xml version="1.0" encoding=& ...
- Android实例-OrientationSensor方向传感器(XE8+小米2)
相关资料: <修复 XE8 for Android 方向传感器 headingX,Y,Z 不会动的问题>:http://www.cnblogs.com/onechen/p/4497282. ...
- android系统重力感应传感器 方向控制与方向切换,android sensor orientation 方向传感器 重力感应...
首先,获取方向传感器(参照http://developer.android.com/reference/android/hardware/SensorManager.html): publicclas ...
- Android传感器之-方向传感器Orientation功能实现与源码
先明确一下空间坐标系的三个方向: x 方向就是手机的水平方向,右为正: y 方向就是手机的水平垂直方向,前为正: z 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负. 方向角的定义是手机y ...
- Android 传感器之方向传感器
一般情况下,在android系统中获取手机的方位信息在api中有TYPE_ORIENTATION常量,可以像得到加速度传感器那样得到方向传感器sm.getDefaultSensor(Sensor.TY ...
- Android -- 传感器使用示例, 用方向传感器做指南针
1. 传感器类型:方向.加速度(重力).光线.磁场.距离(临近性).温度等. 方向传感器: Sensor.TYPE_ORIENTATION 加速度(重力)传感器: Sensor.TYPE_ACCE ...
- Android 方向传感器与磁力计和加速度传感器之间的关系
一般情况下,在android系统中获取手机的方位信息azimuth似乎是很简单的事情,在api中有TYPE_ORIENTATION常量,可以像得到加速度传感器那样得到方向传感器sm.getDefaul ...
- Android 利用方向传感器实现 指南针
step1:新建一个项目Compass,并将一张指南针图片导入到res/drawable-hdpi目录中 step2:设计应用的UI界面,main.xml <?xml version=" ...
- Android 利用方向传感器实现 指南针
step1:新建一个项目Compass,并将一张指南针图片导入到res/drawable-hdpi目录中 step2:设计应用的UI界面,main.xml <?xml version=" ...
最新文章
- 从人肉到智能,阿里运维体系经历了哪些变迁?
- 2012年iOS开发人员必看的精品资料(100个)
- Linux学习第三步(Centos7安装mysql5.7数据库)
- 什么是WebSocket,以及如何在Python中使用它?
- nginx基础概念(100%)之keepalive
- Q96:PT(3.3):大理石纹理(Marble Texture)
- 基于SAP HANA 的SAP系统 安装
- 关于sockaddr_in 、WSAData 、sockaddr等未定义的问题
- SAP 特殊字符的处理CL_ABAP_CHAR_UTILITIES(去除多余的换行符、换页符、Tab符)
- 开放式社区?太小儿科了,智慧城市才是重点
- 华为芯片鸿蒙的由来,华为“鸿蒙”真的来了!看完这些商标来历,网友们又激动了...
- /usr/bin/env: ‘node’: Input/output error
- java相关的外文文献及翻译_外文文献及翻译:JavaandtheInternet
- verilog练习:hdlbits网站上的做题笔记(5)
- 高中英语教师资格证考试经验贴
- 通过‘PyQt6‘中的QWidget类创建一个含有按钮的窗口 1
- 百度SEO站群素材资源解析平台系统源码V8.0
- 计算机类对身体要求,旅游管理专业对身体条件的要求
- “让专业的人做专业的事”,畅捷通与阿里云的云原生故事
- python外国大神有哪些_国外Python大牛们用什么互相沟通、聊天?
热门文章
- exit在python中是什么意思_Python中exit()和sys.exit()之间的区别
- 分离扫描文档方法(1) —— Dynamic Web TWAIN:如何使用空白页作为扫描文档的分隔器
- 贷前审查和贷中审查_大技术受到审查
- Vaa3D_SD、SSD指标的来源
- 击碎数据标注五大误解,这门生意真不是你想象的“富士康” | 钛媒体深度
- HUSTOJ使用指南
- 2019 校招多益网络软件开发java 笔试题
- Radmin通过互联网联机
- 高效工作方式方法的一些实施建议TIPS
- 微信扫描二维码无法下载app如何解决