【Android工具类】用户输入非法内容时的震动与动画提示——EditTextShakeHelper工具类介绍

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992

当用户在EditText中输入为空或者是数据异常的时候,我们能够使用Toast来提醒用户,除此之外,我们还能够使用动画效果和震动提示,来告诉用户:你输入的数据不正确啊!这样的方式更加的友好和有趣。

为了完毕这个需求,我封装了一个帮助类,能够很方便的实现这个效果。

先上代码吧。

/*
 * Copyright (c) 2014, 青岛司通科技有限公司 All rights reserved.
 * File Name:EditTextShakeHelper.java
 * Version:V1.0
 * Author:zhaokaiqiang
 * Date:2014-11-21
 */

package com.example.sharkdemo;

import android.app.Service;
import android.content.Context;
import android.os.Vibrator;
import android.view.animation.Animation;
import android.view.animation.CycleInterpolator;
import android.view.animation.TranslateAnimation;
import android.widget.EditText;

/**
 *
 * @ClassName: com.example.sharkdemo.EditTextShakeHelper
 * @Description:输入框震动效果帮助类
 * @author zhaokaiqiang
 * @date 2014-11-21 上午9:56:15
 *
 */
public class EditTextShakeHelper {

	// 震动动画
	private Animation shakeAnimation;
	// 插值器
	private CycleInterpolator cycleInterpolator;
	// 振动器
	private Vibrator shakeVibrator;

	public EditTextShakeHelper(Context context) {

		// 初始化振动器
		shakeVibrator = (Vibrator) context
				.getSystemService(Service.VIBRATOR_SERVICE);
		// 初始化震动动画
		shakeAnimation = new TranslateAnimation(0, 10, 0, 0);
		shakeAnimation.setDuration(300);
		cycleInterpolator = new CycleInterpolator(8);
		shakeAnimation.setInterpolator(cycleInterpolator);

	}

	/**
	 * 開始震动
	 *
	 * @param editTexts
	 */
	public void shake(EditText... editTexts) {
		for (EditText editText : editTexts) {
			editText.startAnimation(shakeAnimation);
		}

		shakeVibrator.vibrate(new long[] { 0, 500 }, -1);

	}

}

代码很的少哈,并且为了使用起来更加方便,我直接把动画的设置写在代码里面了,这样就不须要额外的xml文件了。

我们能够像以下这样调用,很easy

if (TextUtils.isEmpty(et.getText().toString())) {
new EditTextShakeHelper(MainActivity.this).shake(et);
}

使用之前不要忘记加上震动的权限

<uses-permission android:name="android.permission.VIBRATE" />

这个项目的github地址:https://github.com/ZhaoKaiQiang/EditTextShakeHelper

时间: 2024-08-26 03:56:37

【Android工具类】用户输入非法内容时的震动与动画提示——EditTextShakeHelper工具类介绍的相关文章

jquery+php实现用户输入搜索内容时自动提示

index.html <html><head>    <meta charset="utf-8"><style>#search{font-size:14px;}#search .k{padding:2px 1px; width:320px;}#search_auto{border:1px solid #817FB2; position:absolute; display:none;}#search_auto li{background:#

js打印保存用户输入的内容

在用js打印局部页面时,遇到用户新输入的内容没能打印出来,经过观察,发现我采用的js打印方法是读取页面源代码,而用户输入的内容如果不将其写入到页面源代码中去,是打印不出来的,下面是我的解决方法: //获取标签自身 jQuery.fn.outerHTML = function (s) { return (s) ? this.before(s).remove() : $("<Hill_man>").append(this.eq(0).clone()).html(); }; St

写一个循环,不断的问客户想买什么 ,当用户选择一个商品编号,就把对应的商品加入购物车 ,最终用户输入q退出时,答应购物车的商品

写一个循环,不断的问客户想买什么 ,当用户选择一个商品编号,就把对应的商品加入购物车 ,最终用户输入q退出时,答应购物车的商品products=[["Iphone8",68888],["MacpPro",14800],["Coffee",31],["小米",2499],["Book",80],["Nlke",799]]shopping_cart=[]print(".....商品

26 计算用户输入的内容中索引为奇数并且对应的元素为数字的个数的两种方法

#计算用户输入的内容中索引为奇数并且对应的元素为数字的个数第二种方法content = input(">>>")count = 0for i in range(len(content)):#i就是下标,或者说就是索引 if i % 2 == 1 and content[i].isdigit(): count += 1print(count) #计算用户输入的内容中索引为奇数并且对应的元素为数字的个数的第一种方法 li = []res = ' '.join(input(

Android 实现动态匹配输入的内容 AutoCompleteTextView和MultiAutoCompleteTextView

AutoCompleteTextView1.功能:动态匹配输入的内容,如百度搜索引擎当输入文本时可以根据内容显示匹配的热门信息.2.独特属性:android:completionThreshold 设置输入多少字符时自动匹配 使用AutoCOmpleteTextView实现自动匹配输入的内容private AutoCompleteTextView acTextView;初始化控件acTextView = (AutoCompleteTextView) findViewById(R.id.autoC

对用户输入的内容做邮箱验证的方法 

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>title</title> </head> <body> <!-- 请您输入邮箱地址:<input type="text" value="" id="email"/> *<br/> -

练习二:三个任务,一个接收用户输入,一个将用户输入的内容格式化成大写,一个将格式化后的结果存入文件

from threading import Thread msg_l=[] format_l=[] def talk(): while True: msg=input('>>: ').strip() if not msg:continue msg_l.append(msg) def format_msg(): while True: if msg_l: res=msg_l.pop() format_l.append(res.upper()) def save(): while True: if

linux 从普通用户切换为管理员时用 su 命令为什么提示输入密码,按什么键光标都没反应?

linux里有严格的权限控制,如果从root切换到其他用户不需要密码就能切换:如果从其他用户切换为root用户则必须输入root用户的密码.1.su root 提示输入密码是因为管理员权限很高,为防止其他用户乱篡改系统,切换为管理员时必须输入管理员密码.2.输入的密码是不可见的,输错了只能重输,看不见光标的. 3.LINUX的密码是密文输入.屏幕上不会有显示的,连******都没有.

Android控件之MultiAutoCompleteTextView(自动匹配输入的内容)

一.功能 可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配,可用在发送短信,发邮件时选择联系人这种类型中 二.独特属性 android:completionThreshold = "2"    ——设置输入多少字符时自动匹配 三.设置分隔符 mtxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());——设置以逗号作为分隔符 四.代码演示 <Linear