2015-12-23 13 views
12

Nella mia app sto utilizzando la transizione di Android Activity Slide. Ho seguito a nice tutorial e tutto funziona come previsto, tranne per il suggerimento del mio EditText, che è contenuta all'interno di un InputTextLayout:EditText suggerimento visibile durante la transizione

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="@dimen/activity_vertical_margin"> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:hint="Your name"/> 
</android.support.design.widget.TextInputLayout> 

Tutti i componenti sono ben animati, ma il suggerimento schiocca appena prima inizia l'animazione e rimane in la posizione finale. Devo aggiungere del codice extra per dire al framework di animare anche il suggerimento?

Secondo the Android developer documentation dovrebbe funzionare (o almeno non è supportato).

Utilizzo la versione 22.2 della Libreria del progetto di supporto.

Sarebbe bello se qualcuno potesse indicarmi la giusta direzione.

+0

Notati uguali su Android 5.1.1 e ancora sulla libreria di supporto 23.1.1. Qualcuno ha mai trovato una soluzione? –

+0

Non io. Sry. :/ – Morosko

+1

Questo è un #bug. –

risposta

1

Questo è un bug. Ho cercato una soluzione. Il rimedio che ho usato è quello di impostare il suggerimento di edittext come vuoto prima dell'animazione e impostare l'hint di edittext dopo il completamento dell'animazione. Ma non so se è questo che vorresti fare.

+1

È una soluzione alternativa, ma anche non ben animata nel senso delle linee guida sul design dei materiali, penso che dovremo attendere una correzione ufficiale – Morosko

8

Prova questa soluzione, funziona per me:

Quando si dispone di> 1 TextInputLayouts, messo TextInputLayouts in un contenitore

inputTextPanel : LinearLayout 
    TextInputLayout 
    login : EditText 
    TextInputLayout 
    password : EditText 

e in onCreateView:

setContentView(R.layout.login_layout) 
configuration(fromSdk = 21) { 
    inputTextPanel.isTransitionGroup = true 
} 

Se si dispone di solo uno, puoi solo

myTextInputLayout.isTransitionGroup = true 
+3

Grazie per un'ottima soluzione. aggiungi android: transitionGroup = "true" in xml per semplicità: basta aggiungere a ogni TextInputLayout per evitare di aggiungere un ulteriore nido LinearLayout. – tylerjroach

Problemi correlati