Android-Vibrator的运行
发布时间:2021-12-18 16:22:16 所属栏目:PHP教程 来源:互联网
导读:Android手机中的震动由Vibrator实现。设置震动事件,需要知道其震动的时间长短、震动的周期等。 在android中,震动的时间一毫秒计算(1/1000秒),所以如果设置的时间值太小,会感觉不出来。 通过调用Vibrator的vibrate(long[] pattern, int repeat)方法实现
Android手机中的震动由Vibrator实现。设置震动事件,需要知道其震动的时间长短、震动的周期等。 在android中,震动的时间一毫秒计算(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: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RelativeLayout android:layout_marginTop="20dp" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="短震动" /> <ToggleButton android:id="@+id/tog1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOn="关闭" android:textOff="打开" android:layout_alignParentRight="true" /> </RelativeLayout> <RelativeLayout android:layout_marginTop="20dp" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="长震动" /> <ToggleButton android:id="@+id/tog2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOn="关闭" android:textOff="打开" android:layout_alignParentRight="true" /> </RelativeLayout> <RelativeLayout android:layout_marginTop="20dp" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="节奏震动" /> <ToggleButton android:id="@+id/tog3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOn="关闭" android:textOff="打开" android:layout_alignParentRight="true" /> </RelativeLayout> </LinearLayout> 最后别忘了加上 <uses-permission android:name="android.permission.VIBRATE"/> 权限 ![]() (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |