首页

源码搜藏网

首页 > 安卓源码 > 技术博客 >

Android开发摇一摇换图功能实现

创建时间:2016-12-04 12:30  浏览

摇一摇换图:
1.获取手机的传感(相当于计步器):
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
2.调用手机中的震动;在换图的时候可以很好的提醒:
mVibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);
3.给震动做监听(当震动响起的时候换图);又叫传感器事件监听SensorEventListener实现两个方法,在改变中做处理:
private class sensorListener implements SensorEventListener {
    @Override
    public void onSensorChanged(SensorEvent event) {
        int sensorType = event.sensor.getType();
        float[] values = event.values;
        if (sensorType == Sensor.TYPE_ACCELEROMETER) {

            if ((Math.abs(values[0]) > 12 || Math.abs(values[1]) > 12 || Math
                    .abs(values[2]) > 12)) {
                flag++;
                if (flag > 5)
                    flag = 0;
                long[] pattern = { 500, 500 }; 
                mVibrator.vibrate(pattern, -1);
                mHandler.sendEmptyMessage(0);//发送消息,提醒换图!
            }
        }
    }
4.在线程中用handler来改变震动换图:
Handler mHandler = new Handler(){
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        Resources resources = getResources();
        switch (flag){
            case 0:
                mChange.setBackgroundDrawable(resources.getDrawable(R.drawable.pic06));
                break;
            case 1:
                mChange.setBackgroundDrawable(resources.getDrawable(R.drawable.pic01));
                break;
            case 2:
                mChange.setBackgroundDrawable(resources.getDrawable(R.drawable.pic02));
                break;
            case 3:
                mChange.setBackgroundDrawable(resources.getDrawable(R.drawable.pic03));
                break;
            case 4:
                mChange.setBackgroundDrawable(resources.getDrawable(R.drawable.pic04));
                break;
            case 5:
                mChange.setBackgroundDrawable(resources.getDrawable(R.drawable.pic05));
                break;
        }
    }
};
上一篇:Android APP启动时出现白屏或者黑屏怎么办?
下一篇:几种自定义对话框Dialog的实现方式

相关内容

热门推荐