Schaltfläche mit Hintergrund als AnimationDrawable in Android

7

Ich habe in Android für eine Weile benutzerdefinierte Schaltflächen erstellt. Die Dinge waren einfach, machten nur Bildressourcen für Schaltflächenzustände und machten einen Selektor dafür. Alles lief glatt und schön. Jetzt bin ich auf eine neue Situation gestoßen. Ich habe eine Animation drawbar gemacht und sie als Hintergrund für meinen Knopf gesetzt.

%Vor%

Wenn ich die Animation als Knopfhintergrund einstelle, funktioniert es gut. Wenn ich versuche, einen einfachen Selektor zu machen

%Vor%

Wenn der normale Zustand der Schaltfläche Animation als Hintergrund hätte und der gedrückte Zustand ein statisches Bild, funktionieren die Dinge nicht richtig.

Auf meiner Hauptaktivität, auf onWindowFocus bekomme ich den Hintergrund der Schaltfläche und starte die Animation

%Vor%

Hier scheint das Problem zu sein, weil meine Animation nicht korrekt aus dem Selektor übernommen wird und ich den folgenden Fehler erhalte:

%Vor%

Irgendeine Idee, wie Sie das beheben können? Danke.

    
Alin 14.03.2011, 13:30
quelle

2 Antworten

17

Sie machen eine falsche Darstellungsart - Ihr Hintergrund kann in StateListDrawable , nicht in AnimationDrawable gezeichnet werden. Ich würde eher etwas tun wie:

%Vor%     
Konstantin Burov 14.03.2011, 15:46
quelle
3

Meine Antwort ist ein bisschen spät, ich weiß, aber ich hatte das gleiche Problem. Ich habe viele Lösungen überprüft, aber nur eine gefunden. Ich habe versucht, die Animation in onWindowFocusChanged () zu starten, starten Sie die Animation in einem separaten Thread, aber es hilft nicht.

Ich habe dieses Problem mit setVisible (boolean visible, boolean restart)

gelöst

So können Sie das versuchen:

%Vor%

Hoffe, das wird jemandem helfen:)

    
Oleg Karbushev 28.09.2013 00:45
quelle

Tags und Links