Android实现简单手机震动效果

手机开发中,有时候我们需要使用震动效果提示用户当前的软件状态,下面以一个简单的例子实现这个功能。

1.新建Android应用程序

Android实现简单手机震动效果_第1张图片

2.在AndroidManifest.xml中申明需要使用的震动权限

3.界面上添加按钮


 
    
    
    

4.源码中处理按钮效果

package com.sl.vibratordemo;
 
import android.os.Bundle;
import android.os.SystemClock;
import android.os.Vibrator;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.content.Context;
 
public class MainActivity extends Activity
{
 private Button btn1 = null;
 private Button btn2 = null;
 private Button btn3 = null;
 
 @Override
 protected void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  btn1 = (Button)findViewById(R.id.btn1);
  btn2 = (Button)findViewById(R.id.btn2);
  btn3 = (Button)findViewById(R.id.btn3);
  btn1.setOnClickListener(listener);
  btn2.setOnClickListener(listener);
  btn3.setOnClickListener(listener);
 }
 
 OnClickListener listener = new View.OnClickListener()
 {
  @Override
  public void onClick(View v)
  {
   Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
   switch (v.getId())
   {
   case R.id.btn1:
    vibrator.vibrate(1000);//震动1秒
    break;
   case R.id.btn2:
    long[] pattern1 = {1000, 2000, 1000, 3000}; //等待1秒,震动2秒,等待1秒,震动3秒   
    vibrator.vibrate(pattern1, -1);
    break;
   case R.id.btn3:
    long[] pattern2 = {1000, 500, 1000, 1000};
    vibrator.vibrate(pattern2, 2);//-1表示不重复, 如果不是-1, 比如改成1, 表示从前面这个long数组的下标为1的元素开始重复.
    SystemClock.sleep(10000);//震动10s以后停止
    vibrator.cancel();
    break;
   default:
    break;
   }
  }
 };
}

5.运行效果

Android实现简单手机震动效果_第2张图片

源码下载:Android手机震动效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(Android实现简单手机震动效果)