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

来源:互联网 发布:淘宝xboxone手柄会假吗 编辑:程序博客网 时间:2024/05/17 06:10

新年第一帖——耍一耍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
原创粉丝点击