Android 为点击事件添加震动效果
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();
}
}
这样的话我们的 震动帮助类就完成呢。
然后我们根据我们的源码来分析一下:
- 我们需要将Vibrator 实例化一下。
- 然后我们创建我么你的简单的震动模式。
- 接着创建我们比较复杂的震动模式。
这样我们的点击震动帮助类就完成了。
但是我们光有了帮助类是远远不够的。我们还需要调用他才可以,不然我们的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 为点击事件添加震动效果的更多相关文章
- [Android]Java中点击事件的四种写法
点击事件的必备条件:实现OnClickListener接口,重写onclick(View v)方法 以拨号简单案例为例,如下图效果: 逻辑流程: 获取点击对象,获取数据 给对象设置监听类 实现OnCl ...
- Android journey3 @点击事件的4种写法
对于android布局中的控件,如Button等会有相应的点击事件去响应它所需要的功能,今天我们就以电话拨号器的代码说明下几种点击事件: package com.itheima.phone; impo ...
- iOS 添加震动效果
开发过程中,有时候会碰到点击按钮或者某个动画会配合震动效果:下面介绍iOS开发过程中的震动添加: 导入:#import <AudioToolbox/AudioToolbox.h> 在需要出 ...
- html动态元素点击事件添加
很多时候,页面的元素是后期异步动态添加在页面上.页面点击事件无效. 非动态的元素直接$().click();便可以直接触发点击事件,而动态元素需要事先注册事件. $(document).on('cli ...
- RecyclerView的点击事件添加-------接口回调的形式添加
package com.example.recyclerviewdemo; import android.support.v7.widget.RecyclerView; import android. ...
- Android——自定义多击事件
一:使用场景 Android本身内置了点击.双击事件,但是某些时候,我们可能需要多击事件. 例如:某个秘密入口,为了避免用户误操作点击.双击到了触发开关而进入到不该被用户看到的页面,我们可以为入口控件 ...
- Android笔记---点击事件的四种写法
Android 点击事件的四种写法: 1. 以内部类的形式实现 OnClickListener 接口.定义点击事件 class MainActivity extents Activity{ // .. ...
- Android实现点击事件的4种方式
一.通过在activity_main.xml中,按钮button控件中添加onclick事件实现 在 activity_main.xml 对应的按钮Button中加入下面红色事件 <Butt ...
- ios访问web页面<div>点击事件不起效果,以及alert()显示url的解决办法
ios访问web页面<div>点击不起效果,在其div上添加style=”cursor:pointer:“ jquery web页面动态append()事件调用方法:$(document) ...
随机推荐
- oracle exp不生成dumpfile,预估出实际导出文件的大小。
目的:在不创建dumpfile前预估出需要的导出文件大小. 适用于export 实验步骤如下:OS: Linux test20 2.6.18-238.el5 #1 SMP Sun Dec ...
- 数据库索引原理,及MySQL索引类型(转)
在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable( ID INT NOT NULL, username ) NOT N ...
- ECUST_Algorithm_2019_1
简要题意及解析 1001 求\(a+b\). 数据范围很大,用int或者long long不行.Java和python可以使用大数直接写. 高精度加法:做法就是将数据读入字符串中,数组的每一个单元存一 ...
- Rectangle类详解
一,概括: 乍一看,可能感觉是一个矩形类,矩形类就是画一个长方形吗??这是我一开始见到这个类的感觉. 其实不是的Rectangle是一个“区域”类,它的最大作用就是定义一个矩形的区域,如果问为什么是矩 ...
- CDN技术之--该技术概述
CDN关键技术:1. 缓存算法[Squid]:2. 分发能力:3. 负载均衡[Nginx](4. 基于DNS[BIND]):5. 支持协议: 缓存算法决定命中率.源服务器压力.POP节点存储能力分发能 ...
- MySQL安装/卸载
http://jishu8.cc/2017/02/06/55/ 检查端口是否冲突:netstat nao | findstr 3307 启动服务:services.msc
- PHP基础知识总结(五) php面试题
1.Ajax跨域 json:数据交换格式,{"name":"wangtianle"} jsonp:非官方跨域数据交换协议,可以通过动态添加<script/ ...
- linux教程及常用命令手册
Linux 教程 Linux 教程.Linux 简介.Linux 安装.Linux 系统启动过程.Linux 系统目录结构.Linux 忘记密码解决方法.Linux 远程登录.Linux 文件基本属性 ...
- Branch policies on Azure Repos
https://docs.microsoft.com/en-us/azure/devops/repos/git/branch-policies-overview?view=azure-devops B ...
- python3迷宫,多线程版
上图: 直接上代码 #!/usr/bin/python3 #coding=GB2312 import tkinter as tk import threading import time import ...