本文实例讲述了Android编程之方向传感器用法。分享给大家供大家参考,具体如下:
/**
* 传感器指针Demo
*
* @description:
* @author ldm
* @date 2016-4-25 下午5:29:18
*/
public class SensorHandActivity extends GraphicsActivity {
// 传感器管理对象
private SensorManager mSensorManager;
// 传感器类
private Sensor mSensor;
// 自定义绘制指针View
private MyCompassView mView;
/**
* 方向传感器检测到的感应值 values[0]: Azimuth(方位),地磁北方向与y轴的角度,围绕z轴旋转(0到359)。0=North,
* 90=East, 180=South, 270=West values[1]: Pitch(俯仰),围绕X轴旋转(-180 to 180),
* 当Z轴向Y轴运动时是正值 values[2]: Roll(滚),围绕Y轴旋转(-90 to 90),当X轴向Z轴运动时是正值
*/
private float[] mValues;
// 传感监听
private final SensorEventListener mSensorListener = new SensorEventListener() {
public void onSensorChanged(SensorEvent event) {
mValues = event.values;
if (mView != null) {
mView.invalidate();
}
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
mView = new MyCompassView(this);
setContentView(mView);
}
@Override
protected void onResume() {
super.onResume();
/**
* 在onResume方法中注册传感器监听 事件
* 第一个参数:监听Sensor事件,第二个参数是Sensor目标种类的值,第三个参数是延迟时间的精度密度。延迟时间的精密度参数 参数
* 延迟时间 SensorManager.SENSOR_DELAY_FASTEST 0ms
* SensorManager.SENSOR_DELAY_GAME 20ms SensorManager.SENSOR_DELAY_UI
* 60ms SensorManager.SENSOR_DELAY_NORMAL 200ms
*/
mSensorManager.registerListener(mSensorListener, mSensor,
SensorManager.SENSOR_DELAY_GAME);
}
@Override
protected void onStop() {
// 在onStop方法中取消注册监听
mSensorManager.unregisterListener(mSensorListener);
super.onStop();
}
private class MyCompassView extends View {
// 定义画笔Paint
private Paint mPaint;
// 定义绘制指针的路径Path
private Path mPath;
public MyCompassView(Context context) {
super(context);
initPaintAndPath();
}
private void initPaintAndPath() {
// 初始化画笔
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setColor(Color.BLACK);
mPaint.setStyle(Paint.Style.FILL);
// 初始化绘制路径
mPath = new Path();
mPath.moveTo(0, -50);// 移动到指点点
mPath.lineTo(-20, 60);// 用线条连接到指定点
mPath.lineTo(0, 50);
mPath.lineTo(20, 60);
mPath.close();// 关闭路径
}
@Override
protected void onDraw(Canvas canvas) {
// 设置画面背景
canvas.drawColor(Color.WHITE);
int w = canvas.getWidth();
int h = canvas.getHeight();
int cx = w / 2;
int cy = h / 2;
canvas.translate(cx, cy);// 移动画面,把指针放到中央
if (mValues != null) {
canvas.rotate(-mValues[0]);
}
canvas.drawPath(mPath, mPaint);
}
}
}
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》、《Android资源操作技巧汇总》、《Android文件操作技巧汇总》、《Android开发入门与进阶教程》、《Android编程之activity操作技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
# Android
# 方向传感器
# Android编程之光线传感器用法详解
# Android编程使用光线传感器获取光线强弱的方法【LightSensorManager封装类】
# Android开发中方向传感器定义与用法详解【附指南针实现方法】
# Android开发中的重力传感器用法实例详解
# Android编程中光线传感器的调用方法详解
# android 传感器(OnSensorChanged)使用介绍
# Android利用方向传感器获得手机的相对角度实例说明
# Android 利用方向传感器实现指南针具体步骤
# Android 传感器--光照传感器详解及使用
# Android重力传感器实现滚动的弹球
# Android操作系统介绍之11种传感器
# Android编程基于距离传感器控制手机屏幕熄灭的方法详解
# 操作技巧
# 延迟时间
# 进阶
# 轴向
# 相关内容
# 第一个
# 感兴趣
# 第二个
# 给大家
# 自定义
# 第三个
# 更多关于
# 所述
# 连接到
# 程序设计
# 检测到
# 下午
# 用线
# 讲述了
# East
相关文章:
免费ppt制作网站,有没有值得推荐的免费PPT网站?
如何用免费手机建站系统零基础打造专业网站?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
建站VPS能否同时实现高效与安全翻墙?
中山网站制作网页,中山新生登记系统登记流程?
建站之星如何通过成品分离优化网站效率?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
网站设计制作公司地址,网站建设比较好的公司都有哪些?
如何解决VPS建站LNMP环境配置常见问题?
网站制作难吗安全吗,做一个网站需要多久时间?
安云自助建站系统如何快速提升SEO排名?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何快速建站并高效导出源代码?
电商网站制作价格怎么算,网上拍卖流程以及规则?
如何快速生成高效建站系统源代码?
ui设计制作网站有哪些,手机UI设计网址吗?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
宝塔Windows建站如何避免显示默认IIS页面?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
建站三合一如何选?哪家性价比更高?
nginx修改上传文件大小限制的方法
如何快速生成可下载的建站源码工具?
小建面朝正北,A点实际方位是否存在偏差?
制作网站的模板软件,网站怎么建设?
如何快速搭建高效WAP手机网站吸引移动用户?
广德云建站网站建设方案与建站流程优化指南
C#怎么创建控制台应用 C# Console App项目创建方法
制作网站的公司有哪些,做一个公司网站要多少钱?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
c# 在高并发场景下,委托和接口调用的性能对比
常州自助建站费用包含哪些项目?
制作销售网站教学视频,销售网站有哪些?
大连网站设计制作招聘信息,大连投诉网站有哪些?
已有域名能否直接搭建网站?
网站制作公司排行榜,四大门户网站排名?
北京网站制作网页,网站升级改版需要多久?
宝塔面板创建网站无法访问?如何快速排查修复?
如何彻底删除建站之星生成的Banner?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
建站之星安装后界面空白如何解决?
小型网站建站如何选择虚拟主机?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
非常酷的网站设计制作软件,酷培ai教育官方网站?
建站之星安装步骤有哪些常见问题?
网站制作公司,橙子建站是合法的吗?
建站之星安装路径如何正确选择及配置?
高防服务器租用指南:配置选择与快速部署攻略
如何选择网络建站服务器?高效建站必看指南
定制建站价位费用解析与套餐推荐全攻略
*请认真填写需求信息,我们会在24小时内与您取得联系。