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. oracle exp不生成dumpfile,预估出实际导出文件的大小。

    目的:在不创建dumpfile前预估出需要的导出文件大小.  适用于export     实验步骤如下:OS:  Linux test20 2.6.18-238.el5 #1 SMP Sun Dec ...

  2. 数据库索引原理,及MySQL索引类型(转)

    在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable( ID INT NOT NULL, username ) NOT N ...

  3. ECUST_Algorithm_2019_1

    简要题意及解析 1001 求\(a+b\). 数据范围很大,用int或者long long不行.Java和python可以使用大数直接写. 高精度加法:做法就是将数据读入字符串中,数组的每一个单元存一 ...

  4. Rectangle类详解

    一,概括: 乍一看,可能感觉是一个矩形类,矩形类就是画一个长方形吗??这是我一开始见到这个类的感觉. 其实不是的Rectangle是一个“区域”类,它的最大作用就是定义一个矩形的区域,如果问为什么是矩 ...

  5. CDN技术之--该技术概述

    CDN关键技术:1. 缓存算法[Squid]:2. 分发能力:3. 负载均衡[Nginx](4. 基于DNS[BIND]):5. 支持协议: 缓存算法决定命中率.源服务器压力.POP节点存储能力分发能 ...

  6. MySQL安装/卸载

    http://jishu8.cc/2017/02/06/55/ 检查端口是否冲突:netstat nao | findstr 3307  启动服务:services.msc

  7. PHP基础知识总结(五) php面试题

    1.Ajax跨域 json:数据交换格式,{"name":"wangtianle"} jsonp:非官方跨域数据交换协议,可以通过动态添加<script/ ...

  8. linux教程及常用命令手册

    Linux 教程 Linux 教程.Linux 简介.Linux 安装.Linux 系统启动过程.Linux 系统目录结构.Linux 忘记密码解决方法.Linux 远程登录.Linux 文件基本属性 ...

  9. Branch policies on Azure Repos

    https://docs.microsoft.com/en-us/azure/devops/repos/git/branch-policies-overview?view=azure-devops B ...

  10. python3迷宫,多线程版

    上图: 直接上代码 #!/usr/bin/python3 #coding=GB2312 import tkinter as tk import threading import time import ...