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) ...
随机推荐
- 1、Fiddler 打断点 bpu
一.fiddler 设置断点,可修改以下请求 可以修改HTTP请求头信息,如修改cookie,user-agent等 可以修改请求数据,突破表单限制,提交任意数字,如充值最大金额100,可修改为100 ...
- 【leetcode】989. Add to Array-Form of Integer
题目如下: For a non-negative integer X, the array-form of X is an array of its digits in left to right o ...
- c++ vector push_back对象的时候存起来的是拷贝[转]
比如 class C1; vector<C1> vec; C1* p=new C1; vec v1; v1.push_back(&(*p)); delete p; 这里,传进函数的 ...
- JDK 9 发布仅数月,为何在生产环境中却频遭嫌弃?
千呼万唤始出来,在经历了整整一年的跳票之后,Java 9 终于在 9 月 21 日拨开云雾,露出真正的面目.对众多 Java 程序员来说,这一天无疑是一个重大的日子,首先 Java 开发者们再也不用羡 ...
- TextView详解
android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web /email/phone/map/all)android: ...
- 让vue用于小程序setData方法
setData:function(obj){ let that = this; let keys = []; let val,data; Object.keys(obj).forEach(functi ...
- python读取数据库mysql报错
昨天在学习PYTHON读取数据库的知识时,一直在报错,找不到原因. 最后同事说是语法错误. import sysreload(sys)sys.setdefaultencoding('gb18030') ...
- 用 Flask 来写个轻博客 (10) — M(V)C_Jinja 常用过滤器与 Flask 特殊变量及方法
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 Jinja 中常用的过滤器 default float int len ...
- (Java多线程系列七)Java内存模型和线程的三大特性
Java内存模型和线程的三大特性 多线程有三大特性:原子性.可见性.有序性 1.Java内存模型 Java内存模型(Java Memory Model ,JMM),决定一个线程对共享变量的写入时,能对 ...
- 64位系统sql链接oracle
在SQL Server 2008中连接Oracle,完成查询.插入操作 建立指向Oracle的连接 在32位的系统中sql链接oracle,在链接服务器里点击服务器对象,右键链接服务器,选择micro ...