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!