2015-08-20 16 views

risposta

8

Con il supporto delle librerie di design v23 è possibile utilizzare:

til.setHintAnimationEnabled(false); 

Qui potete trovare il javadoc.

+2

Una nota, l'animazione deve essere disattivata prima di impostare il testo/suggerimento. Avere la sequenza sbagliata non disattiva l'animazione. – Elye

+0

Ho provato questo, ma non funziona. – John

+0

Non funziona !! qualche soluzione? –

0

risposta Gabriels basata Ho scritto un piccolo metodo per eseguire dopo aver caricato la gerarchia di visualizzazione che disabilita l'animazione nella visualizzazione iniziale ma la abilita dopo le protezioni. Aggiungi questo alla tua attività di base/Frammento/Visualizza e risolverà il problema.

private void setTextInputLayoutAnimation(View view) { 
     if (view instanceof TextInputLayout) { 
      TextInputLayout til = (TextInputLayout) view; 
      til.setHintAnimationEnabled(false); 
      til.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { 
       @Override public boolean onPreDraw() { 
        til.getViewTreeObserver().removeOnPreDrawListener(this); 
        til.setHintAnimationEnabled(true); 
        return false; 
       } 
      }); 
      return; 
     } 

     if (view instanceof ViewGroup) { 
      ViewGroup group = (ViewGroup) view; 
      for (int i = 0; i < group.getChildCount(); i++) { 
       View child = group.getChildAt(i); 
       setTextInputLayoutAnimation(child); 
      } 
     } 
    }