本文主要是介绍Android Vibrator的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 {/** Called when the activity is first created. */private Vibrator vibrator;private ToggleButton tog1;private ToggleButton tog2;private ToggleButton tog3;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();tog1.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {// TODO Auto-generated method stubif (isChecked) {// 设置震动周期vibrator.vibrate(new long[] { 1000, 10, 100, 1000 }, -1);showToast("OK");} else {// 取消震动vibrator.cancel();showToast("CANCEL");}}});tog2.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {// TODO Auto-generated method stubif (isChecked) {// 设置震动周期vibrator.vibrate(new long[] { 100, 100, 100, 1000 }, 0);showToast("OK");} else {// 取消震动vibrator.cancel();showToast("CANCEL");}}});tog3.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {// TODO Auto-generated method stubif (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"/>权限
这篇关于Android Vibrator的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!