/** * 传感器指针Demo * * @description: * @author ldm * @date 2016-4-25 下午5:29:18 */ publicclassSensorHandActivityextendsGraphicsActivity { // 传感器管理对象 privateSensorManager mSensorManager; // 传感器类 privateSensor mSensor; // 自定义绘制指针View privateMyCompassView 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轴运动时是正值 */ privatefloat[] mValues; // 传感监听 privatefinalSensorEventListener mSensorListener =newSensorEventListener() { publicvoidonSensorChanged(SensorEvent event) { mValues = event.values; if(mView !=null) { mView.invalidate(); } } publicvoidonAccuracyChanged(Sensor sensor,intaccuracy) { } }; @SuppressWarnings("deprecation") @Override protectedvoidonCreate(Bundle icicle) { super.onCreate(icicle); mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION); mView =newMyCompassView(this); setContentView(mView); } @Override protectedvoidonResume() { 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 protectedvoidonStop() { // 在onStop方法中取消注册监听 mSensorManager.unregisterListener(mSensorListener); super.onStop(); } privateclassMyCompassViewextendsView { // 定义画笔Paint privatePaint mPaint; // 定义绘制指针的路径Path privatePath mPath; publicMyCompassView(Context context) { super(context); initPaintAndPath(); } privatevoidinitPaintAndPath() { // 初始化画笔 mPaint =newPaint(); mPaint.setAntiAlias(true); mPaint.setColor(Color.BLACK); mPaint.setStyle(Paint.Style.FILL); // 初始化绘制路径 mPath =newPath(); mPath.moveTo(0, -50);// 移动到指点点 mPath.lineTo(-20,60);// 用线条连接到指定点 mPath.lineTo(0,50); mPath.lineTo(20,60); mPath.close();// 关闭路径 } @Override protectedvoidonDraw(Canvas canvas) { // 设置画面背景 canvas.drawColor(Color.WHITE); intw = canvas.getWidth(); inth = canvas.getHeight(); intcx = w /2; intcy = h /2; canvas.translate(cx, cy);// 移动画面,把指针放到中央 if(mValues !=null) { canvas.rotate(-mValues[0]); } canvas.drawPath(mPath, mPaint); } } }
凡尔赛法环免广告版 最新版v1.69.1
下载天煞异种 安卓版v1.0.21
下载十三月 (Undecember)最新官方中文版v3.26.0200
下载我不是废柴无限99999钻999999金币游戏 不减反增版v1.2.16
下载我的女友是声优免广告 安卓版v1
我的女友是声优免广告是一款非常好玩的模拟经营类手游,玩家在游
石器帝国去广告版 v8
石器帝国免广告版是游戏的破解版本,在该版本中为玩家去除了广告
校园恋爱模拟器真人版去广告版 v0.0.7
校园恋爱模拟器真人版免广告版是游戏的破解版本,在该版本中为玩
教练我要开球馆内置菜单修改器 安卓版v1.5.4
教练我要开球馆内购版是一款模拟经营类游戏,玩家们将在游戏中创
我的游轮无限砖石 安卓版v1.7.0
我的游轮无限金币钻石版是一款模拟经营类游戏,你将成为一艘游轮