Dopo la domanda: Animate change of view background color on Android Sto cercando di rendere un TextView in dissolvenza tra due sfondi tramite la risorsa TransitionDrawable. Il mio file di transizione XML è simile al seguente:TransitionDrawable come sfondo in TextView non funziona come previsto
<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/gray_bar" />
<item android:drawable="@drawable/green_bar" />
</transition>
e cerco di impostarla come sfondo il runtime:
TextView answerBox = (TextView) findViewById(R.id.answerBox);
answerBox.setBackgroundResource(R.drawable.correct_transition);
TransitionDrawable transition = (TransitionDrawable) answerBox.getBackground();
transition.startTransition(1500);
Il risultato è che il TextView trasforma da questo:
a questo:
Quando l'intera barra grigia deve essere trasformata in g uno
Entrambe sono immagini png a 9 patch. Questi sono gli originali:
La mia ipotesi è che la barra verde si sta riempiendo lo spazio disponibile per il testo all'interno della barra grigia, ma io non so perché. Qualche indizio? Il grigio appare anche molto più grande di quanto dovrebbe, ma non cambia dimensione prima, durante o dopo la transizione, nonostante l'aspetto delle immagini incluse. Potrebbe essere un problema con le immagini a 9 patch perché ho testato immagini normali e la transizione funziona alla grande.
Grazie per qualsiasi aiuto!
Ho lo stesso identico problema ... sei riuscito a risolvere questo in qualche modo? – zwebie
hmmm, nell'esempio di google usano setImageDrawable forse il setbackground non è un comportamento previsto, se non lo è, allora puoi mettere una imageview come "sfondo" (usando il layout relativo posizionalo sotto la textview) e basta eseguire la transizione su quella forse ? – MikeIsrael
No, non funziona neanche. Sono passato al colore invece delle immagini. Suggerisco che è un problema di 9 patch perché ho testato lo stesso codice con immagini normali e ho funzionato come previsto. Quindi, zwebie, funziona con il colore anziché con le immagini a 9 patch e nel mio caso funziona con le immagini normali (non a 9 patch). – viridis