加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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"/>
权限

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读