Problem mit Movie

  • Hallo erst mal vom Neuen ans gesamte Forum! :)


    Seit einigen Tagen bin ich nun auch unter die Java Programmierer gegangen und habe mir dazu erst mal leichte Lektüre geholt: Android Apps Entwickeln für Kids


    Klingt lustig aber ist selbst für erwachsene Einsteiger gut! ;)


    OK, zur Frage:


    MainAktivity.java, hier habe ich folgenden eintrag geschrieben:


    Code: animation.xml
    <?xml version="1.0" encoding="utf-8"?>
    <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
        <item
            android:drawable="@drawable/figur01"
            android:duration="300" />
        <item
            android:drawable="@drawable/figur05"
            android:duration="300" />
    </animation-list>


    Die funktion ist recht einfach. Mit dem ersten Schalter soll eine Bild Datei, eine kleine Figur, eingeblendet und ausgeblendet werden. Mit Schalter 2 sollen abwechselnd zwei Bilder angezeigt werden, so dass ein Laufeffekt der Figur entsteht. Schalter 3, damit soll die Grafik, also die Figur sich drehen.


    Nun mein Problem ist folgendes. Ich kann Schalter 2 zwar aktivieren, damit die Figur sich bewegt, jedoch lässt sich die Bewegung nicht mehr deaktivieren. Die Animation läuft dauerhaft, klicke ich auf den Schalter 2, dass die Bewegung stoppen soll, hällt die Figur ca. 1/2 Sekunde an, aber die Animation wird fortgesetzt. Der Fehler muss also nach meiner Einschätzung her in der MainAktivity.java sein, Zeilen 39 - 42. Schalter 3 macht ebenfalls Probleme und funktioniert nurt wie er lustig ist.


    Finde einfach keinen Fehler, ist 1:1 wie im Heft und habe auch schon das beiliegende Projekt zum Buch getestet, dort ist das selbe Problem, die Grafik stoppt nicht mehr.


    Ich hoffe ihr könnt einem Neuling bei seinem "großen" Problem weiter helfen. ;)

  • Soweit ich das verstehe, müsstest du ja um die Animation "aus" zu machen, das Originalbild wieder einsetzen. Keine andere Animation. Dann musst du aber auch die Animation1 so ändern, dass sie nur aufgerufen wird, wenn die Animation auch tatsächlich eingefügt wurde. Also ungefähr so:


    Hoffe ich konnte dir helfen ;)

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Hallo und erst mal Danke für die Antwort.


    Habs mal versucht, leider selber Fehler, die Animation geht immer weiter, ohne Ende!


    Hast du bzw. noch einer ne andere Idee?


    Hab nun schon alle möglichen Bedinungsabfragen gemacht, es versucht mit einem Switch zu lösen, ect.
    Jedoch scheint er Probleme mitd er Bedinungsabfrage von isRunning zu haben. Hat sich da was in den neuen Android Studio Versionen Verändert?


    Derzeit sieh es bei mri so aus:


  • Du kannst ansonsten in XML ein duration Attribut mitgeben oder mit setOneShot einstellen, dass es nur einmal durchläuft.

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Nutze zur Zeit setOneShot="false". Wäre eine Möglichkeit, wobei dann nach einer Wiederholung schluss ist und ist nur eine Umgehung des Problems und nicht die Lösung um ehrlich zu sein. =O


    Rein vom logischen ist ja die Struktur ohne Fehler, zumindest logische...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!