【www.gdgbn.com--.Net开发】

main.xml布局文件

android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_width="fill_parent"
android:layout_height="wrap_content">
android:texton="关闭振动"
android:textoff="启动振动"
android:checked="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:text="振动已关闭"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

android:layout_width="fill_parent"
android:layout_height="wrap_content">
android:texton="关闭振动"
android:textoff="启动振动"
android:checked="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:text="振动已关闭"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

清单文件

package="com.ljq.activity" android:versioncode="1"
android:versionname="1.0">
android:label="@string/app_name">
android:label="@string/app_name">


android:name="android.intent.category.launcher" />







vibrateactivity类
package com.ljq.activity;

import android.app.activity;
import android.app.service;
import android.os.bundle;
import android.os.vibrator;
import android.widget.compoundbutton;
import android.widget.textview;
import android.widget.togglebutton;
import android.widget.compoundbutton.oncheckedchangelistener;

public class vibrateactivity extends activity {
private vibrator vibrator=null;
private togglebutton tb1=null, tb2=null;
private textview tv1=null, tv2=null;

@override
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.main);
//注意模拟器是模拟不了震动的,得真机测试哦
//创建vibrator对象
vibrator=(vibrator)getsystemservice(service.vibrator_service);
tv1=(textview)findviewbyid(r.id.tv1);
tv2=(textview)findviewbyid(r.id.tv2);
tb1=(togglebutton)findviewbyid(r.id.tb1);
tb2=(togglebutton)findviewbyid(r.id.tb2);
tb1.setoncheckedchangelistener(listener);
tb2.setoncheckedchangelistener(listener);
}

oncheckedchangelistener listener=new oncheckedchangelistener(){

public void oncheckedchanged(compoundbutton buttonview, boolean ischecked) {
togglebutton togglebutton=(togglebutton)buttonview;
switch (togglebutton.getid()) {
case r.id.tb1:
if(ischecked){
//根据指定的模式进行震动
//第一个参数:该数组中第一个元素是等待多长的时间才启动震动,
//之后将会是开启和关闭震动的持续时间,单位为毫秒
//第二个参数:重复震动时在pattern中的索引,如果设置为-1则表示不重复震动
vibrator.vibrate(new long[]{1000,50,50,100,50}, -1);
tv1.settext("振动已启动");
}else {
//关闭震动
vibrator.cancel();
tv1.settext("震动已关闭");
}
break;
case r.id.tb2:
if(ischecked){
//启动震动,并持续指定的时间
vibrator.vibrate(3500);
tv2.settext("振动已启动");
}else {
//关闭启动
vibrator.cancel();
tv2.settext("震动已关闭");
}
break;
}
}

};
}
运行结果   <script type=text/网页特效> if ($ != jquery) { $ = jquery.noconflict(); } var islogined = false; var cb_blogid = 83240; var cb_entryid = 1965319; var cb_blogapp = "linjiqin"; var cb_bloguserguid = "a6448c44-d92c-e011-ac81-842b2b196315"; var cb_entrycreateddate = "2011/2/25 20:33:00"; </script>

本文来源:http://www.gdgbn.com/asp/29244/