2017-02-06 2 views
1

Ich arbeite an der Anwendung, und ich habe eine Activity, wo ich eine TextView zeigen muss.setAnimation auf textView hat keine Wirkung

Zunächst ist die TextView unsichtbar, aber wenn ich es sichtbar machen muss, stelle ich eine Animation vor. Die Animation funktioniert gut auf Alcatel One Touch API 17, HTC One X API 17 und Samsung S3 Neo API 19, aber auf der Nexus 5 API 23 verwendet sie immer noch die Standardanimation, während sie sichtbar ist (Einblenden).

Gibt es einen Grund dafür? Dies ist der Code, die ich benutze:

myTextView.setAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.come_in_from_left)); 
myTextView.setVisibility(View.VISIBLE); 

bearbeiten

Ich habe gerade bemerkt, dass, wenn im nicht auf Debugger die Animation arbeiten nicht an allen auf allen Geräten !!! es sieht so aus, als müsste ich meine Geräte an ADB angeschlossen halten !!

Antwort

1

ich es endlich lösen, gibt es zwei Probleme:

Erste

Meine TextView war in einem RelativeLayout, die ein LinearLayout hat als Eltern, das Attribut andoid:animateLayoutChanges wurde erstmals in der RelativeLayout erwähnt, ich habe es innerhalb LinearLayout verschoben.

Zweite

Als mreža sh mir vorgeschlagen, ich ersetzen setAnimation() mit startAnimation() und nennen es nach setVisibility()

Jetzt funktioniert es auf allen Geräten gut, auch aus dem Debugger getrennt!

2

Verwendung startAnimation() statt setAnimation() und nennt es nach setVisibility()

+0

Ich versuchte Ihren Vorschlag, es funktioniert auch wie setAnimation(), was bedeutet, nicht auf meinem Nexus 5 api 23 zu arbeiten :( –

+0

Ich habe es gerade auf meinem HTC Wunsch 530 (API 23) versucht und es funktioniert gut , rate etwas anderes verursacht das Problem. @ismailalaoui –

+0

Ich habe nicht gefunden, was wirklich falsch ist, nur als Information, ist die Animation auf einem Textview auf einem Alertdialog! –

Verwandte Themen