Podążając za pytaniem: Animate change of view background color on Android Próbuję zrobić TextView, aby zniknął między dwoma środowiskami za pośrednictwem zasobu TransitionDrawable. Mój plik xml przejście wygląda następująco:TransitionDrawable jako tło w TextView nie działa zgodnie z oczekiwaniami
<?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>
I spróbuj ustawić go jako tło na starcie przez:
TextView answerBox = (TextView) findViewById(R.id.answerBox);
answerBox.setBackgroundResource(R.drawable.correct_transition);
TransitionDrawable transition = (TransitionDrawable) answerBox.getBackground();
transition.startTransition(1500);
wynik jest, że TextView przekształca z tego:
do tego:
Gdy cały szary pasek powinien zostać przekształcony na g jeden raz.
Oba są obrazami w rozdzielczości 9 png. Są to oryginały:
Domyślam się, że zielony pasek wypełnia przestrzeń dostępna dla tekstu wewnątrz szarym pasku, ale nie wiem dlaczego. Jakieś wskazówki? Szara również wydaje się dużo większa niż powinna, ale nie zmienia rozmiaru przed, w trakcie lub po przejściu, pomimo pojawienia się dołączonych obrazów. Może to być problem z 9-plasterkowymi obrazami, ponieważ przetestowałem normalne obrazy, a przejście działa świetnie.
Dzięki za pomoc!
Mam dokładnie ten sam problem ... czy udało ci się rozwiązać to w jakikolwiek sposób? – zwebie
hmmm, w przykładzie google używają setImageDrawable może setbackground nie jest oczekiwanym zachowaniem, jeśli nie, to możesz umieścić obraz jako "tło" (używając względnego układu umieść go pod tekstem) i po prostu uruchom przejście na to może ? – MikeIsrael
Nie, to też nie działa. Zmieniłem kolor na zamiast obrazów. Sugeruję, że jest to problem z 9 łatami, ponieważ testowałem ten sam kod z normalnymi obrazami i działałem zgodnie z oczekiwaniami. Tak więc, zwebie, działa z kolorem zamiast 9-plasterkowym, aw moim przypadku działa z normalnymi (bez 9-łatek) obrazami. – viridis