Nach der Frage: Animate change of view background color on Android Ich versuche, eine TextView zwischen zwei Hintergründe über TransitionDrawable Ressource zu verblassen. Mein Übergang XML-Datei sieht wie folgt aus:TransitionDrawable als Hintergrund in TextView funktioniert nicht wie erwartet
<?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>
Und ich versuche, es zu setzen als Hintergrund auf Laufzeit von:
TextView answerBox = (TextView) findViewById(R.id.answerBox);
answerBox.setBackgroundResource(R.drawable.correct_transition);
TransitionDrawable transition = (TransitionDrawable) answerBox.getBackground();
transition.startTransition(1500);
Das Ergebnis ist, dass die Textview daraus verwandelt:
zu diesem:
Wenn der ganze graue Stab in das g umgewandelt werden sollte reen eins.
Beide sind 9-Patch-PNG-Bilder. Dies sind die Originale:
Meine Vermutung ist, dass der grüne Balken füllt den Raum für Text in der grauen Leiste, aber ich weiß nicht, warum. Irgendwelche Hinweise? Das Grau erscheint auch viel größer als es sollte, ändert aber vor, während oder nach dem Übergang die Größe nicht, trotz des Erscheinens der enthaltenen Bilder. Es kann ein Problem mit den 9-Patch-Bildern sein, da ich normale Bilder getestet habe und der Übergang großartig funktioniert.
Danke für jede Hilfe!
Ich habe genau das gleiche Problem ... hast du es irgendwie gelöst? – zwebie
hmmm, in googles Beispiel verwenden sie setImageDrawable vielleicht ist der setbackground kein erwartetes Verhalten, wenn nicht, dann könntest du ein imageview als "background" setzen (benutze relatives Layout plaziere es unter der textview) und führe einfach den Übergang dafür aus ? – MikeIsrael
Nein, das funktioniert auch nicht. Ich habe auf Farbe statt Bilder gewechselt. Ich schlage vor, dass es ein 9-Patch-Problem ist, weil ich denselben Code mit normalen Bildern getestet habe und wie erwartet funktioniert habe. Also, zwie, es arbeitet mit Farbe statt 9-Patch-Bildern, und in meinem Fall funktioniert es mit normalen (nicht 9-Patch) Bildern. – viridis