【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文件了。
我們可以像下面這樣調用,非常簡單
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
本文由用戶 ph44 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!