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.
Sie machen eine falsche Darstellungsart - Ihr Hintergrund kann in StateListDrawable
, nicht in AnimationDrawable
gezeichnet werden. Ich würde eher etwas tun wie:
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)
So können Sie das versuchen:
%Vor%Hoffe, das wird jemandem helfen:)