华域联盟 Andriod Android应用实现点击按钮震动

Android应用实现点击按钮震动

本项目为大家分享了Android应用实现点击按钮震动的具体代码,供大家参考,具体内容如下

项目中需要实现点击应用中的按钮,有震动效果。震动效果可以在设置中进行关闭。

具体实现如下。

编写震动帮助类:VibrateHelp.java

import android.content.Context;
import android.os.Vibrator;
 
/**
 * 震动帮助类
 * androidManifest.xml中加入 以下权限
 * <uses-permission android:name="android.permission.VIBRATE" />
 */
public class VibrateHelp {
 private static Vibrator vibrator;
 
 /**
  * 简单震动
  * @param context     调用震动的Context
  * @param millisecond 震动的时间,毫秒
  */
 @SuppressWarnings("static-access")
 public static void vSimple(Context context, int millisecond) {
  vibrator = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE);
  vibrator.vibrate(millisecond);
 }
 
 /**
  * 复杂的震动
  * @param context 调用震动的Context
  * @param pattern 震动形式
  * @param repeate 震动的次数,-1不重复,非-1为从pattern的指定下标开始重复
  */
 @SuppressWarnings("static-access")
 public static void vComplicated(Context context, long[] pattern, int repeate) {
  vibrator = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE);
  vibrator.vibrate(pattern, repeate);
 }
 
 /**
  * 停止震动
  */
 public static void stop() {
  if (vibrator != null) {
   vibrator.cancel();
  }
 }
}

下面自定义实现按钮单击震动类:ViewClickVibrate.java

import android.view.View;

import android.view.View.OnClickListener;
 
public class ViewClickVibrate implements OnClickListener{
 /** 按钮震动时间 */
 private final int VIBRATE_TIME = 60;
 
 
 @Override
 public void onClick(View v) {
  // TODO 根据设置中的标记判断是否执行震动
  VibrateHelp.vSimple(v.getContext(), VIBRATE_TIME);
 }
}

最后,在给按钮设置监听时,使用类ViewClickVibrate,如下所示:MainActivity.java

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
 
public class MainActivity extends Activity {
 Button btn1;
 Button btn2;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  btn1 = (Button) findViewById(R.id.button1);
  btn2 = (Button) findViewById(R.id.button2);
  btn1.setOnClickListener(new ViewClickVibrate() {
   public void onClick(View v) {
    super.onClick(v);
    // TODO
   }
  });
  btn2.setOnClickListener(new ViewClickVibrate() {
   public void onClick(View v) {
    super.onClick(v);
    // TODO
   }
  });
 }
 
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }
}

也可以自定义其他控件的单击事件,实现单击震动效果,类似上面改之即可。

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

本文由 华域联盟 原创撰写:华域联盟 » Android应用实现点击按钮震动

转载请保留出处和原文链接:https://www.cnhackhy.com/109749.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们