手电筒之指南针
2015-11-28 16:44
337 查看
首先,要先获取系统服务(SENSOR_SERVICE)返回一个SensorManager 对象
监听器中的接口
这只是我的项目中需要这样写,如果有需要直接旋转图片的,请略过这一段
设置指南针旋转的图片
直接使用Imagveiw图片,在SensorEventListener接口的方法中
manager = (SensorManager) mContext .getSystemService(Context.SENSOR_SERVICE); Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_ORIENTATION); manager = (SensorManager) mContext .getSystemService(Context.SENSOR_SERVICE); Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_ORIENTATION); //应用在前台时候注册监听器SensorEventListener manager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_GAME);
监听器中的接口
这只是我的项目中需要这样写,如果有需要直接旋转图片的,请略过这一段
float startX=0 ; @Override public void onSensorChanged(SensorEvent event) { // TODO Auto-generated method stub startX = event.values[0]; invalidate(); } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO Auto-generated method stub }
设置指南针旋转的图片
/********************************绘制指南针***************/ mBitmap1 = BitmapFactory.decodeResource(getResources(),R.drawable.sd_zhennanzhen_rotato); Matrix matrix=new Matrix(); matrix.postScale(1f, 1f); matrix.postRotate(startX); Bitmap b=Bitmap.createBitmap(mBitmap1, 0, 0, mBitmap1.getWidth(), mBitmap1.getHeight(), matrix, true); int xb1 = b.getWidth(); int yb1 = b.getHeight(); //自定义View中画的图片 canvas.drawBitmap(b, (x - xb1) / 2 + (getWidth() - x) / 2, (y - yb1) / 2, null);
直接使用Imagveiw图片,在SensorEventListener接口的方法中
@Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } @Override public void onSensorChanged(SensorEvent event) { // x轴的度数 float x = event.values[0]; float y = event.values[1]; float z = event.values[2]; System.out.println(">>>>>>>>>>>>" + x); Animation mAnimation = new RotateAnimation(start, x, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); mAnimation.setDuration(200); img_view.startAnimation(mAnimation); start = x;
相关文章推荐
- Python动态类型的学习---引用的理解
- 土人系列AS入门教程 -- 对象篇
- C#托管堆对象实例包含内容分析
- C#实现获取不同对象中名称相同属性的方法
- javascript asp教程第十一课--Application 对象
- PowerShell中使用Out-String命令把对象转换成字符串输出的例子
- VBS教程:对象-正则表达式(RegExp)对象
- C#检查指定对象是否存在于ArrayList集合中的方法
- sql2008启动代理未将对象应用到实例解决方案
- C#编程自学之类和对象
- C++中对象的常引用、动态建立和释放相关知识讲解
- php中将一个对象保存到Session中的方法
- php对象和数组相互转换的方法
- PHP中把对象转换为关联数组代码分享
- C#写入对象或集合类型数据到xml文件的方法
- C#利用反射来判断对象是否包含某个属性的实现方法
- ASP.NET中使用Application对象实现简单在线人数统计功能
- asp提示Server 对象 错误 ASP 0178 : 80070005
- Javascript 对象的解释
- JavaScript对象、属性、事件手册集合方便查询