2015-08-20 9 views

Odpowiedz

8

przy wsparciu projektu biblioteki V23 można użyć:

til.setHintAnimationEnabled(false); 

Tutaj można znaleźć javadoc.

+2

Jedna uwaga, animacja musi być wyłączona, zanim ustawimy tekst/podpowiedź. Błędna sekwencja nie wyłącza animacji. – Elye

+0

Próbowałem, ale nie działa. – John

+0

Nie działa !! jakieś rozwiązania? –

0

Na podstawie odpowiedzi Gabrielsa Napisałem małą metodę do uruchomienia po załadowaniu hierarchii widoków, która wyłącza animację na początkowym wyświetlaczu, ale włącza ją po oddziale. Dodaj to do swojej aktywności podstawowej/fragmentu/widoku, a to rozwiąże problem.

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); 
      } 
     } 
    } 
Powiązane problemy