Android 点击Button 实现震动效果

学习自:网络


Overview

在Android 的点击效果中,遇到震动效果的还是很多的。

接下来就让我们看一下如何实现震动效果。


所需要的权限

如果我们在开发中需要使用到我们的震动,那么我们就需要申请一下权限:

<uses-permission android:name="android.permission.VIBRATE"/>

这样我们的权限就申请好了。


我们震动效果的帮助类

创建一个名为VibrateHelp的点击震动的帮助类。

然后看一下如何使用他的把:

public class VibrateHelp {
private static Vibrator vibrator;
/**
* @ClassName:VibrateHelp - 简单的震动
* @author:CaoJiaHao
* @Param:context 调用震动类的 context
* @param:millisecond 震动的时间
*/
@SuppressWarnings("static-access")
public static void vSimple(Context context, int millisecode) {
vibrator = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE);
vibrator.vibrate(millisecode);
}
/**
* @param : pattern 震动的形式
* @param : repeate 震动循环的次数
* @ClassName:VibrateHelp - 复杂的震动
* @author:CaoJiaHao
* @Param: context 调用复杂震动的context
**/
@SuppressWarnings("static-access")
public static void vComplicated(Context context, long[] pattern, int repeate) {
vibrator = (Vibrator) context.getSystemService(context.VIBRATOR_SERVICE);
vibrator.vibrate(pattern, repeate);
}
/**
*@ClassName:VibrateHelp - 停止震动
*@author:CaoJiaHao
**/
public static void stop() {
if (vibrator != null)
vibrator.cancel();
}
}

这样的话我们的 震动帮助类就完成呢。

然后我们根据我们的源码来分析一下:

  1. 我们需要将Vibrator 实例化一下。
  2. 然后我们创建我么你的简单的震动模式。
  3. 接着创建我们比较复杂的震动模式。

    这样我们的点击震动帮助类就完成了。

但是我们光有了帮助类是远远不够的。我们还需要调用他才可以,不然我们的Helper Class 没有任何作用。


封装我们的震动点击事件

首先,我们创建一个类,让他控制我们的点击震动效果。

我们创建一个名为ViewClickVibrate。然后先看一下源代码:

public class ViewClickVibrate implements View.OnClickListener {
private final int VIBRATE_TIME = 60;
@Override
public void onClick(View v) {
VibrateHelp.vSimple(v.getContext(), VIBRATE_TIME);
}
}

这个就是我们的源代码,但是需要注意的是,我们封装的这个类,需要去调用我们的View.OnClickListener的接口.

这样我们的点击效果算是全部完成了。

最后我们看一下如何实现他吧。

ImageCategory.setOnClickListener(new ViewClickVibrate() {
public void onClick(View v) {
super.onClick(v);
Global.Go(FinanceActivity.this, CategoryActivity.class);
}
});

这样的一个点击效果就完成了。

Android 为点击事件添加震动效果的更多相关文章

  1. [Android]Java中点击事件的四种写法

    点击事件的必备条件:实现OnClickListener接口,重写onclick(View v)方法 以拨号简单案例为例,如下图效果: 逻辑流程: 获取点击对象,获取数据 给对象设置监听类 实现OnCl ...

  2. Android journey3 @点击事件的4种写法

    对于android布局中的控件,如Button等会有相应的点击事件去响应它所需要的功能,今天我们就以电话拨号器的代码说明下几种点击事件: package com.itheima.phone; impo ...

  3. iOS 添加震动效果

    开发过程中,有时候会碰到点击按钮或者某个动画会配合震动效果:下面介绍iOS开发过程中的震动添加: 导入:#import <AudioToolbox/AudioToolbox.h> 在需要出 ...

  4. html动态元素点击事件添加

    很多时候,页面的元素是后期异步动态添加在页面上.页面点击事件无效. 非动态的元素直接$().click();便可以直接触发点击事件,而动态元素需要事先注册事件. $(document).on('cli ...

  5. RecyclerView的点击事件添加-------接口回调的形式添加

    package com.example.recyclerviewdemo; import android.support.v7.widget.RecyclerView; import android. ...

  6. Android——自定义多击事件

    一:使用场景 Android本身内置了点击.双击事件,但是某些时候,我们可能需要多击事件. 例如:某个秘密入口,为了避免用户误操作点击.双击到了触发开关而进入到不该被用户看到的页面,我们可以为入口控件 ...

  7. Android笔记---点击事件的四种写法

    Android 点击事件的四种写法: 1. 以内部类的形式实现 OnClickListener 接口.定义点击事件 class MainActivity extents Activity{ // .. ...

  8. Android实现点击事件的4种方式

    一.通过在activity_main.xml中,按钮button控件中添加onclick事件实现 在   activity_main.xml 对应的按钮Button中加入下面红色事件 <Butt ...

  9. ios访问web页面<div>点击事件不起效果,以及alert()显示url的解决办法

    ios访问web页面<div>点击不起效果,在其div上添加style=”cursor:pointer:“ jquery web页面动态append()事件调用方法:$(document) ...

随机推荐

  1. 59th python下graphviz安装 砖

    原文 摘录  感谢分享:   https://www.cnblogs.com/liusx0303/p/9155305.html 参考链接:https://blog.csdn.net/u01325041 ...

  2. CUDA学习之一:二维矩阵加法

    今天忙活了3个小时,竟然被一个苦恼的CUDA小例程给困住了,本来是参照Rachal zhang大神的CUDA学习笔记来一个模仿,结果却自己给自己糊里糊涂,最后还是弄明白了一些. RZ大神对CUDA关于 ...

  3. 20.ReenterLock重入锁

    import java.util.concurrent.locks.ReentrantLock; /** * 重入锁 ReenterLock 一个线程允许连续获得同一把锁,注意:必须释放相同次数,释放 ...

  4. 生成器模式Builder

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11406502.html 1. 定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的 ...

  5. 【leetcode】901. Online Stock Span

    题目如下: 解题思路:和[leetcode]84. Largest Rectangle in Histogram的核心是一样的,都是要找出当前元素之前第一个大于自己的元素. 代码如下: class S ...

  6. springboot 依赖

    <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot ...

  7. PHP curl_multi_init函数

    curl_multi_init — 返回一个新cURL批处理句柄 说明 resource curl_multi_init ( void ) 允许并行地处理批处理cURL句柄. 参数 此函数没有参数. ...

  8. linux日常---1、linux下安装、查看、卸载包常用命令

    linux日常---1.linux下安装.查看.卸载包常用命令 一.总结 一句话总结: 对比学习 1.linux如何查看系统中安装的程序? rpm -qa   # 查看所有安装的软件包 2.linux ...

  9. scrapy原理

    scarpy据说是目前最强大的爬虫框架,没有之一.就是这么自信. 官网都是这么说的. An open source and collaborative framework for extracting ...

  10. shell变量相关知识

    环境变量和普通变量 一.几个常用命令: 1. set : 输出所有变量,包含全局变量和局部变量 2. env : 只显示全局变量 3. declare : 输出所有的变量,函数,整数和已经导出的变量 ...