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:
最后别忘了加上
本文出自互动无限网络科技有限公司www.hudongwx.com转载请说明
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款