您好,登錄后才能下訂單哦!
Android手機中的震動由Vibrator實現。設置震動事件,需要知道其震動的時間長短、震動的周期等。
在Android Vibrator中,震動的時間一毫秒計算(1/1000秒),所以如果設置的時間值太小,會感覺不出來。
通過調用Vibrator的vibrate(long[] pattern, int repeat)方法實現。
前一個參數為設置震動的效果的數組,第二個參數為 -1表示只震動一次,為0則震動會一直持續。
一個demo:
package com.shao.vibrator;
import android.app.Activity;
import android.os.Bundle;
import android.os.Vibrator;
import android.widget.CompoundButton;
import android.widget.Toast;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ToggleButton;
public class VibratorActivity extends Activity {
private Vibrator vibrator;
private ToggleButton tog1;
private ToggleButton tog2;
private ToggleButton tog3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
tog1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked) {
// 設置震動周期
vibrator.vibrate(new long[] { 1000, 10, 100, 1000 }, -1);
showToast("OK");
} else {
// 取消震動
vibrator.cancel();
showToast("CANCEL");
}
}
});
tog2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked) {
// 設置震動周期
vibrator.vibrate(new long[] { 100, 100, 100, 1000 }, 0);
showToast("OK");
} else {
// 取消震動
vibrator.cancel();
showToast("CANCEL");
}
}
});
tog3.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked) {
// 設置震動周期
vibrator.vibrate(new long[] { 1000, 50, 1000, 50, 1000 }, 0);
showToast("OK");
} else {
// 取消震動
vibrator.cancel();
showToast("CANCEL");
}
}
});
}
private void init() {
tog1 = (ToggleButton) findViewById(R.id.tog1);
tog2 = (ToggleButton) findViewById(R.id.tog2);
tog3 = (ToggleButton) findViewById(R.id.tog3);
vibrator = (Vibrator) this.getSystemService(VIBRATOR_SERVICE);
}
private void showToast(String msg) {
Toast.makeText(this, msg, 1).show();
}
}
xml:
最后別忘了加上<uses-permission android:name="android.permission.VIBRATE"/>權限。
本文出自互動無限網絡科技有限公司www.hudongwx.com轉載請說明
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。