Android Vibrator的使用
2016-03-22 11:07
375 查看
Android手机中的震动由Vibrator实现。设置震动事件,需要知道其震动的时间长短、震动的周期等。
在Android Vibrator中,震动的时间一毫秒计算(1/1000秒),所以如果设置的时间值太小,会感觉不出来。
通过调用Vibrator的vibrate(long[] pattern, int repeat)方法实现。
前一个参数为设置震动的效果的数组,第二个参数为 -1表示只震动一次,为0则震动会一直持续。
一个demo:
xml:
最后别忘了加上<uses-permission android:name="android.permission.VIBRATE"/>权限。
在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; @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"/>权限。
相关文章推荐
- 在ubuntu14.04上使用Android SDK创建模拟失败
- Android 百度定位SDK(v6.1.3)结合方向传感器
- 用AndroidStudio导入github项目
- Android日志工具类
- android常用工具类
- Android 设置资源字体,屏幕截图
- Android ADB server didn't ACK * failed to start daemon
- Android SDK Manager国内无法更新的解决方案(亲测有效)
- 创建第一个android应用
- Android签名知识总结
- Android 中Base64编码解码
- Android学习之自定义进度条ProgressBar
- android开发判断虚拟菜单是否开启及获取虚拟菜单高度
- android自动化之MonkeyRunner测试环境配置(一) - 记录那点滴的改变的专栏 - 博客频道 - CSDN.NET
- Android LIstView隐藏滚动条
- android sdk工具之MonkeyRunner (实例)_小兵兵同学_新浪博客
- android改变屏幕分辨率
- Android学习之ArrayAdapter
- android 自定义View实现长按事件
- Android Studio 进行单元测试完整教程