Tremer Edittext Android

Como eu faço para que um editbox trema quando o usuário clicar em um botão?

É simples, eu utilizo isso na minha Activity de senha, quando o usuário erra a senha, o campo “treme” como um alerta.

Dentro da pasta res/anim crie um arquivo xml com o nome de tremer.xml:

<?xml version="1.0" encoding="utf-8"?>  
 <translate xmlns:android="http://schemas.android.com/apk/res/android"  
   android:duration="1000"  
   android:fromXDelta="0%"  
   android:interpolator="@anim/sete_ciclos"  
   android:toXDelta="5%" />  

Crie outro arquivo xml com o nome de sete_ciclos.xml ainda dentro de res/anim:

<?xml version="1.0" encoding="utf-8"?>  
 <cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"  
   android:cycles="7" />  

No arquivo .java da sua Activity, dentro de onCreate você cria uma variável do tipo Animation fazendo referência ao tremer.xml:

final Animation shake = AnimationUtils.loadAnimation(this,R.anim.tremer);

e por fim, quando você quiser tremer algum campo, basta utilizar:

campo.startAnimation(shake);

Exemplo:

final EditText senha = (EditText) findViewById(R.id.editSenha);
senha.startAnimation(shake);

Espero ter ajudado.

1 curtida

Obrigado Junior Maia, funcionou do jeito que eu queria!