android指南针校准 代码_Android:指南针的制作

指南针主要是通过方向传感器来获取方位的,使用传感器呢,我们主要用到SensorManager类和Sensor类,通过getSystemService(Context.SENSOR_SERVICE)来初始化SensorManager对象,通过getDefaultSensor(Sensor.TYPE_ORIENTATION)来初始化Sensor对象。在下边我们需要对传感器进行注册,注册方法registerListener(SensorEventListener listener, Sensor sensor,int samplingPeriodUs)的第一个参数我们需要实现这个接口并复写相应的方法,在方法onSensorChanged(SensorEvent event)中我们可以通过event.values[0]来获取方位,这个数值的方位是(正北:0/360   正东:90   正南:180   正西:270)我们获取的是0到360的数值,但是实际上这些数值对应的方位和现实中指南针的方位是对称的,也就是关于Z轴对称。因此我们经常采用-event.values[0]。然后整个轮盘转动我这里采用的是一个自定义的旋转动画来做的,接下来就直接上代码了。

源代码:(码云:https://gitee.com/zhanma/codes/qw28ndj0akcpvf65hl1rg41)

MainActivity:

DefinedRotateAnimation (自定义旋转动画):

MainActivity中44行提到一个bringToFront(),这个方法用来把控件调到前景,因为我在指南针中设置了一个(TextView)指标,方便看出来当前的转到正中央的数值是多少。然后TextView控件和ImageView正好后者把前者覆盖了,因此调用此方法把它调到上一层。自定义动画这块用到initialize方法,用来初始化动画,applyTransformation方法用来实现动画变形(也就是实现动画的效果)

运行截图:

由于模拟器不方便测试这方向传感器,所以我就使用真机调试,上面的运行截图都是从真机上截图下来的。

以上是关于Android指南针的制作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值