package com.vibrator.vibratordemo;
import android.os.Bundle;
import android.os.Vibrator;
import android.app.Activity;
import android.app.Service;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
public class MainActivity extends Activity implements OnClickListener, OnSeekBarChangeListener {
private Button btnstart;
private SeekBar seekbar1;
private boolean isClick;
/***************************************************************************
* 要让手机乖乖的震动,需创建Vibrator对象,通过调用vibrate方法来达到震动的目的, 在Vibrator的构造器中有4个参数,
* 前3个的值是设置震动的大小,在这边可以把数值改成一大一小,这样就可以明显感觉出
* 震动的差异,而最后一个值是设置震动的时间。以下的范例设置每个震动的模式都不一样, long[] pattern :自定义震动模式
* 。数组中数字的含义依次是[静止时长,震动时长,静止时长,震动时长。。。]时长的单位是毫秒 boolean isRepeat :
* 是否反复震动,如果是true,反复震动,如果是false,只震动一次 -1 只震动一次
*************************************************************************/
private Vibrator vibrator;
private int num = 10;// 震动时间
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnstart = (Button) findViewById(R.id.btn_start);
seekbar1 = (SeekBar) findViewById(R.id.seekbar1);
btnstart.setOnClickListener(this);
vibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);
seekbar1.setMax(1000);
seekbar1.setOnSeekBarChangeListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public void onClick(View v) {
if (!isClick) {
/* 短震动 */
// vibrator.vibrate(new long[] { 100, 10, 100, 1000 }, -1);
/* 短震动循环 */
vibrator.vibrate(new long[] { num, 25000 }, 0);
/* 长震动 */
// vibrator.vibrate(new long[]{100,100,100,1000},0);
/* 节奏震动 */
// vibrator.vibrate(new long[]{1000,50,1000,50,1000},0);
isClick = true;
btnstart.setText("暂停");
} else {
vibrator.cancel();
isClick = false;
btnstart.setText("开始");
}
}
@Override
protected void onPause() {
vibrator.cancel();
super.onPause();
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
Log.i(getClass().getSimpleName(), "seekbar长度发生改变");
num = seekBar.getProgress();
Log.i(getClass().getSimpleName(), "num=" + num);
if (isClick) {
vibrator.vibrate(new long[] { num, 1000 }, 0);
}
}
}
界面浏览图
界面代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/btn_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始" />
<SeekBar
android:id="@+id/seekbar1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
java代码
- 大小: 6.3 KB
分享到:
相关推荐
android应用源码手机震动.rar android应用源码有盟自动更新.rar android应用源码百度地图路线规划.rar android应用源码速度仪表盘.rar android应用源码高仿天天动听音乐.rar android应用源码高仿陌陌.rar
android 震动 项目源码
android应用源码手机震动
Android 应用开发源码 参考与学习使用
Android图片点击震动效果源码.zip
Android程序研发源码Android 图片点击震动效果源码.zip
Android 图片点击震动效果源码.zip源码资源下载Android 图片点击震动效果源码.zip源码资源下载
android应用源码手机震动.zip源码资源下载android应用源码手机震动.zip源码资源下载
Android安卓手机震动功能如何实现【源码】,不多介绍了,就是触发手机的震动功能,在响铃或接收到短信提醒时的震动功能,当时其它提醒中也可使用震动。
Android例子源码防止睡过定时震动手机的小例子
Android例子源码模仿ios密码错误时震动的效果
源码参考,欢迎下载
Android 图片点击震动效果源码.rar
安卓Android源码——图片点击震动效果源码.zip
Android 图片点击震动效果源码.zip
Android源码——图片点击震动效果源码.zip