浅析Android手机卫士之抖动输入框和手机震动
作者:陶士涵 发布时间:2022-11-23 08:01:50
标签: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" />
以上所述是小编给大家介绍的Android手机卫士之输入框抖动和手机震动的相关内容,希望对大家有所帮助!
0
投稿
猜你喜欢
- 本文介绍了Android TextView属性ellipsize多行失效的解决思路,分享给大家,具体如下:多余文字显示省略号的常规做法and
- 最近在搭建springmvc的框架,遇到的这样的问题:在地址栏访问登陆界面访问不了,http://localhost/XXXX/WEB-IN
- 前言随着敏捷开发的流行,编写单元测试已经成为业界共识。但如何来衡量单元测试的质量呢?有些管理者片面追求单元测试的数量,导致底下的开发人员投机
- Java自定义注解一般使用场景为:自定义注解+ * 或者AOP,使用自定义注解来自己设计框架,使得代码看起来非常优雅。本文将先从自定义注解的
- 这篇文章主要介绍了SpringBoot下如何实现支付宝接口的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 本文实例为大家分享了Java通过Fork/Join优化并行计算的具体代码,供大家参考,具体内容如下Java代码:package Thread
- 本文实例讲述了spring AOP的Around增强实现方法。分享给大家供大家参考,具体如下:一 配置<?xml version=&q
- 本文实例讲述了C#中timer定时器用法。分享给大家供大家参考。具体如下:下面的代码通过Timer定时器每隔1000毫秒(1秒)触发一次事件
- 有的时候当我们使用popwindow时将当前的activity当做View传给其他fragment使用时会导致我们设置背景变暗效果失效,导致
- 概述引入多态是继封装、继承之后,面向对象的第三大特性。 生活中,比如跑的动作,小猫、小狗和大象,跑起来是不一样的。再比如飞的动作,昆虫、鸟类
- 适用场合: 7.3工厂模式的适用场合 创建新对象最简单的办法是使用new关键字和具体类。只有在某些场合下,创建和维护对象工厂所带来的额外复杂
- 一、前言1、热更新代码的场景(1)当线上服务器出现问题时,有些时候现有的手段不足以发现问题所在,可能需要追加打印日志或者增加一些调试代码,如
- C#学习笔记- 浅谈数组复制,排序,取段,元组using System;using System.Collections.Generic;n
- 本文是基于PDF文档转PNG图片,然后进行图片拼接,拼接后的图片转为base64字符串,然后拼接html文档写入html文件实现PDF文档转
- 1、概述 限流的含义是在单位时间内确保发往某个模块的请求数量小于某个数值,比如在实现秒杀功能时,需要确保在10秒内发往支付模块的请求数量小
- 一般的 Executors 的 execute以及submit并发包下 Executors 创建的线程存在 一个 execute(),以及三
- 目录aop配合反射统一签名验证接口统一签名校验第一种aop 方式实现第二种 * aop配合反射统一签名验证直接上代码,作为记录。CheckS
- RunnableRunnable接口非常简单,就定义了一个方法run(), 实现Runnable接口的run方法就可以实现多线程// 函数式
- 本文实例为大家分享了java实现滑动验证解锁的具体代码,供大家参考,具体内容如下1.html:<div class="dra
- import java.util.Date;import java.text.DateFormat;/*** 格式化时间类* DateFor