android 搖一搖 震動 聲音效果

2021-09-30 01:29:47 字數 1408 閱讀 5995

android 搖一搖+震動+聲音效果

搖一搖主要通過sensormanager監聽手機,實現 sensoreventlistener,在onsensorchanged去判斷,根據加速度來判斷搖晃的程度。

shakesensorlistener shakelistener = new shakesensorlistener();

sensormanager sensormanager = (sensormanager)getsystemservice(context.sensor_service);

private class shakesensorlistener implements sensoreventlistener

// 開始動畫

anim.start();

float values = event.values;

/** x : x軸方向的重力加速度,向右為正

* y : y軸方向的重力加速度,向前為正

* z : z軸方向的重力加速度,向上為正

*/float x = math.abs(values[0]);

float y = math.abs(values[1]);

float z = math.abs(values[2]);

//加速度超過19,搖一搖成功

if (x > 19 || y > 19 || z > 19)

},1000);

}}@override

public void onaccuracychanged(sensor sensor, int accuracy) }

如果手機一直在搖晃,會不停的呼叫onsensorchanged ,而我們只想要一次搖一搖的效果,所以加了isshake 欄位去判斷。 在一次搖一搖事件完成後置false,可以繼續搖一搖。

註冊監聽,同時別忘了取消註冊。

@override

protected void onresume()

@override

protected void onpause()

搖一搖過程可以執行動畫效果。

private void playsound(context context)

震動效果,這裡注意要在androidmanifest 檔案裡新增許可權

private void vibrate(long milliseconds)

一次搖一搖後,這裡在彈框消失後可繼續搖一搖。

private void showdialog()

});window window = malertdialog.getwindow();

window.setbackgrounddrawable(new colordrawable(0x00000000));

}至此,一套搖一搖效果完成!

「歷經千帆,歸來仍少年!

android 搖一搖 震動 聲音效果

搖一搖主要通過sensormanager監聽手機,實現sensoreventlistener,在onsensorchanged去判斷,根據加速度來判斷搖晃的程度。shakesensorlistener shakelistener new shakesensorlistener sensormanag...

android 搖一搖 震動 聲音效果

搖一搖主要通過sensormanager監聽手機,實現sensoreventlistener,在onsensorchanged去判斷,根據加速度來判斷搖晃的程度。shakesensorlistener shakelistener new shakesensorlistener sensormanag...

android 搖一搖 震動 聲音效果

搖一搖主要通過sensormanager監聽手機,實現sensoreventlistener,在onsensorchanged去判斷,根據加速度來判斷搖晃的程度。shakesensorlistener shakelistener new shakesensorlistener sensormanag...