Хорошо, вот что вам нужно ..
Анимация вибрации
поместите эти два XML-файла в папку res/anim
vibrate.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="10"
android:duration="1000"
android:interpolator="@anim/cycle_5" />
cycle_5.xml
<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
android:cycles="5" />
Вибрирующий телефон
используйте этот метод для вибрации вашего телефона в течение 500 миллисекунд
public void shakeItBaby() {
int DURATION = 500; // you can change this according to your need
if (Build.VERSION.SDK_INT >= 26) {
((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(VibrationEffect.createOneShot(DURATION, VibrationEffect.DEFAULT_AMPLITUDE));
} else {
((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(DURATION);
}
}
и не забудьте поставить разрешение в манифесте
<uses-permission android:name="android.permission.VIBRATE" />
Собираем все вместе
теперь используйте их оба, пока вы проверяете ваш EditText
Animation vibrate = AnimationUtils.loadAnimation(this, R.anim.vibrate);
if (paytm_amt.getText().toString().trim().isEmpty()) {
paytm_num.setError("Please Enter PayTM Number");
paytm_num.startAnimation(vibrate);
shakeItBaby();
} else {
// do something
}
Happy Coding ..