Android摇一摇功能及动画实现Demo源代码
2016-08-01 11:06:21  By: shinyuu

分享一个App上很实用的功能“摇一摇”、Demo中实现了两种方式、一是一直处于摇晃的状态、另外一种是当用户摇晃手机之后再启动摇晃的动画、第二种其实就是针对摇晃的优化、避免了多次发送信息、效果图如下

android 摇一摇功能实现


handler处理事件

private Handler handler = new Handler(){

    public void handleMessage(Message msg) {
        switch (msg.what) {
            case SHAKE_START:

                isShake = true;//摇动中
                startAnimation();

                break;
            case SHAKE_END://摇动结束

                isShake = false;
                stopAnimation();
                Toast.makeText(TestSensorActivity1.this, 
                    "检测到摇晃,执行你想要的操作!", Toast.LENGTH_SHORT).show();

                break;
            default:
                break;
        }
        super.handleMessage(msg);
    }
};


检测摇一摇

@Override
public void onSensorChanged(SensorEvent sensorEvent) {
    int sensorType = sensorEvent.sensor.getType();
    // values[0]:X轴,values[1]:Y轴,values[2]:Z轴
    float[] values = sensorEvent.values;
    Log.e("YaoYiYao", "values[0]:"   values[0]   "      values[1]:"   values[0]   "     values[2]"   values[0]);
    if (sensorType == Sensor.TYPE_ACCELEROMETER) {

        if ((Math.abs(values[0])   Math.abs(values[1])  Math
                .abs(values[2])) > 18) {
            // 摇动手机后,再伴随震动提示~~
            if(!isShake){

                vibrator.vibrate(new long[]{200, 300, 200, 300, 200}, -1);
                //发送一个空消息,告诉handler已经开始摇动了
                handler.sendEmptyMessage(SHAKE_START);

                //间隔1.2s,发送一个空消息,告诉handler已经结束摇动了//避免了多次请求处理
                handler.sendEmptyMessageDelayed(SHAKE_END, 1200);
            }

        }
    }
}


android 摇一摇功能实现源代码下载链接: android摇一摇源码 密码: cafw

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


猜你喜欢的

快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+