电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android 實現為點擊事件添加震動效果

瀏覽:71日期:2022-09-25 18:08:47

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控件實現抖動的效果

這個程序的功能有可能在實際的開發中會用到,比如說Button左右晃動,或者上下的晃動效果,下面就給出代碼。

首先要定義一個xml文件,命名為shake

<?xml version='1.0' encoding='utf-8'?><translate xmlns:android='http://schemas.android.com/apk/res/android' android:fromXDelta='0' android:toXDelta='100' android:duration='1000' android:interpolator='@anim/cycle_7' />

接下來再定義一個xml文件,命名為cycle_7

<?xml version='1.0' encoding='utf-8'?><cycleInterpolator xmlns:android='http://schemas.android.com/apk/res/android' android:cycles='2' />

這兩個xml文件都要建在,res文件夾下面的anim文件中,如果沒有anim文件,可以自己建一個。

然后就是新建一個activity代碼如下

import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void go(View v){ Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);//加載動畫資源文件 findViewById(R.id.tv).startAnimation(shake); //給組件播放動畫效果 } }

下面給出main.xml

<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='fill_parent' android:layout_height='fill_parent' android:orientation='vertical' android:gravity='center_horizontal|center_vertical' > <EditText android:layout_width='fill_parent' android:layout_height='wrap_content' android: android:text='wojiuahiswo' /> <Button android:layout_width='fill_parent' android:layout_height='wrap_content' android:text='go' android:onClick='go' /> </LinearLayout>

這樣就實現了一個edittext控件的抖動效果,這里說明一下cycle_7.xml文件中android:cycles='2' 這一項是設置抖動的次數的,2為抖動兩次。而shake.xml中

android:fromXDelta='0' android:toXDelta='100'

是控制抖動的范圍的,上面的代碼是在x軸進行抖動,如果把x替換為y就是在y軸進行抖動,當然也可以在x,y軸同時抖動。

以上這篇Android 實現為點擊事件添加震動效果就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
主站蜘蛛池模板: 新车测评网_网罗汽车评测资讯_汽车评测门户报道 | 房在线-免费房产管理系统软件-二手房中介房屋房源管理系统软件 | 冻干机(冷冻干燥机)_小型|实验型|食品真空冷冻干燥机-松源 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 门禁卡_智能IC卡_滴胶卡制作_硅胶腕带-卡立方rfid定制厂家 | 垃圾处理设备_餐厨垃圾处理设备_厨余垃圾处理设备_果蔬垃圾处理设备-深圳市三盛环保科技有限公司 | 焦作网 WWW.JZRB.COM | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 恒温槽_恒温水槽_恒温水浴槽-上海方瑞仪器有限公司 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 不锈钢发酵罐_水果酒发酵罐_谷物发酵罐_山东誉诚不锈钢制品有限公司 | 合肥制氮机_合肥空压机厂家_安徽真空泵-凯圣精机 | 政府园区专业委托招商平台_助力企业选址项目快速落地_东方龙商务集团 | 干培两用箱-细菌恒温培养箱-菲斯福仪器| 柴油发电机组_柴油发电机_发电机组价格-江苏凯晨电力设备有限公司 | 粘弹体防腐胶带,聚丙烯防腐胶带-全民塑胶 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 称重传感器,测力传感器,拉压力传感器,压力变送器,扭矩传感器,南京凯基特电气有限公司 | 天助网 - 中小企业全网推广平台_生态整合营销知名服务商_天助网采购优选 | LNG鹤管_内浮盘价格,上装鹤管,装车撬厂家-连云港赛威特机械 | 警方提醒:赣州约炮论坛真的安全吗?2025年新手必看的网络交友防坑指南 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 油液红外光谱仪-油液监测系统-燃油嗅探仪-上海冉超光电科技有限公司 | 【化妆品备案】进口化妆品备案流程-深圳美尚美化妆品有限公司 | 节流截止放空阀-不锈钢阀门-气动|电动截止阀-鸿华阀门有限公司 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 大巴租车平台承接包车,通勤班车,巴士租赁业务 - 鸿鸣巴士 | 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 铁素体测量仪/检测仪/铁素体含量测试仪-苏州圣光仪器有限公司 | 上海律师事务所_上海刑事律师免费咨询平台-煊宏律师事务所 | 大学食堂装修设计_公司餐厅效果图_工厂食堂改造_迈普装饰 | 行业分析:提及郑州火车站附近真有 特殊按摩 ?2025实地踩坑指南 新手如何避坑不踩雷 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | YT保温材料_YT无机保温砂浆_外墙保温材料_南阳银通节能建材高新技术开发有限公司 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 |