新年第一帖——耍一耍Android 摇一摇功能

新年第一帖——耍一耍Android 摇一摇功能

初七就要上班的伤不起,新年第一天就要上班的更加伤不起,自己找点事情干干,干点啥子好呢,随便点点APP,发现对手家app出了一个新模块,配合新年来了一个摇一摇功能,灵机一动,就写个摇一摇的demo耍耍

首先要明白 摇一摇其实就是一张图片,然后此图片会旋转即可完成布局。
其余的功能当然是想啥时候做就啥时候做喽。

废话不多说 布局代码不需要多写了
之前看到一些博客中说到摇一摇需要在注册文件中加入 Sensor.TYPE_ACCELEROMETER 的 uses-permission 经过测试这是根本不需要的

动画代码 用xml写即可,方便简单:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <rotate
        android:fromDegrees="-70"
        android:toDegrees="100"
        android:duration="400"
        android:pivotX="50%"
        android:pivotY="50%"/>
</set> 

activtiy 代码 需要重载 SensorEventListener2 这个的监听


 @Override
    public void onFlushCompleted(Sensor sensor) {

    }

    @Override
    public void onSensorChanged(SensorEvent event) {
        int sensorType = event.sensor.getType();
        //values[0]:X轴,values[1]:Y轴,values[2]:Z轴
        float[] values = event.values;
        if (sensorType == Sensor.TYPE_ACCELEROMETER)
            {
            if ((Math.abs(values[0]) > 17 || Math.abs(values[1]) > 17 || Math
            .abs(values[2]) > 17))
             {
                Log.d("sensor x ", "============ values[0] = " + values[0]);
                Log.d("sensor y ", "============ values[1] = " + values[1]);
                Log.d("sensor z ", "============ values[2] = " + values[2]);
                //摇动手机后,再伴随震动提示~~
                 vibrator.vibrate(100);
                 initAnimation(yaoyiyaoImageView);
                 Toast.makeText(MainActivity.this,"摇一摇",Toast.LENGTH_SHORT).show();
                           }

                  }

    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
    }
    sorManager sm = null;
   Vibrator vibrator = null;//这个是震动 加上这个必须加入注册文件震动
        sm = (SensorManager) getSystemService(SENSOR_SERVICE);
        vibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);

下载地址

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值