[android] 手机卫士输入框抖动和手机震动
查看apiDemos,找到View/Animation/shake找到对应的动画代码,直接拷贝过来
当导入一个项目的时候,报R文件不存在,很多情况是xml文件出错了
Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
et_phone.startAnimation(shake);
动画的xml文件shake.xml
android:interpolator="@anim/cycle_7"
interpolator是插入器,可以定义动画的速度等
调用Animation对象的setInterpolator()方法,设置插入器,参数:Interpolator对象
匿名实现Interpolator接口,重写getInterpolation()方法,设置中自定义动画速率,传入一个flaot x
输入框的震动效果
获取Vibrator对象,调用getSystemService()方法,参数:VIBRATOR_SERVICE
调用Vibrator对象的vibrate()方法,参数:毫秒
需要添加权限android.permission.VIBRATE
这个可以做一些振动器~
/** * 查询归属地 */ public void queryNumber(View v) { phone = et_phone.getText().toString().trim(); if (TextUtils.isEmpty(phone)) { //抖动动画 Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake); et_phone.startAnimation(shake); //手机震动 vibrator.vibrate(2000); Toast.makeText(this, "请输入手机号码", 0).show(); return; } String result = NumberQueryAddressUtil.queryAddress(phone); tv_address.setText(result); }
shake.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:fromXDelta="0" android:interpolator="@anim/cycle_7" android:toXDelta="10" />
cycle_7.xml
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="7" />
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具