ImageView Animation auslesen

  • Antworten:7
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 4

17.05.2018, 21:02:57 via Website

Hallo,
ich habe in meinem Programmm ein ImageView. Nun möchte ich in meinem Java-Script eine Variable erstellen, deren Inhalt der Name der gerade angezeigten Animation beinhaltet. Diese möchte ich dann in einer if-Struktur mit den anderen Animationsnamen vergleichen.

Nun würde ich gern wissen, welchen Datentyp die Variabele haben sollte und wie ich sie definieren könnte.

Diskutiere mit!
Beste Antwort
  • Forum-Beiträge: 483

18.05.2018, 18:49:10 via Website

Hallo
Als erstens darfst und brauchst du deine ImageView Variable nicht final machen, denn somit kannst du ihr kein neuen Inhalt zuweisen.

        ImageView Bild1 = (ImageView) findViewById(R.id.imageView);
        Button kaufenKnopf = (Button) findViewById(R.id.button);
        Button weiterKnopf = (Button) findViewById(R.id.button2);
        int currentAnimation = 1;

 weiterKnopf.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                switch (currentAnimation) {

                    case 1:
                        Bild1.setImageResource(R.drawable.Sweetheart1);
                        break;
                    case 2:
                        Bild1.setImageResource(R.drawable.Sweetheart2);
                        break;
                    case 3:
                        Bild1.setImageResource(R.drawable.Sweetheart3);
                        break;
                }
                currentAnimation++;
                if (currentAnimation > 3) currentAnimation = 1;
            }

— geändert am 18.05.2018, 18:58:04

Hilfreich?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.170

18.05.2018, 08:05:20 via App

Hallo Lennard,
Bitte unterschride zwischen Java (Programmiersprache) <> JavaScript (Skripsprache z.b. für Webbrowser).

Zudem: Was verstehst du unter Animation?
Das gerade angezeigte Bild wenn es ein Gif ist oder eine AndroidDrawableAnimation die du per Code ausführst?

Zudem: Beim laden des Bildes weisst du doch wie es heißt, das soeicherst du dir zwischen dann musst du es nicht abfragen

— geändert am 18.05.2018, 08:06:06

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 4

18.05.2018, 13:01:05 via Website

Ich meine java (ohne script Entschuldigung für diesen Fehler). Mit Animation meine ich eine AndroidDrawableAnimation.

PS: Danke für die schnelle Antwort.

Hilfreich?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.170

18.05.2018, 13:13:59 via App

Hallo Lennard,
warum willst dubdiese auslesen?
Am einfachsten ist, du speicherst dir den Namen oder das Objekt der Animation wenn du diese startest, dann musst du nichts auslesen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 4

18.05.2018, 15:51:26 via Website

Ich will ein button Programmieren der wenn z.B. Die aktuelle Animation = Animation1 ist, Animation2 startet und wenn die aktuelle animation = Animtion2 ist, Animation3 startet.

Hilfreich?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.170

18.05.2018, 16:44:23 via App

Genau aber das geht besser wenn du dir das direkt spreicherst und nicht auslesen musst:

 currentAnimation= 1;
 //doAnimation1

 //---
 currentAnimation=2;
 //doAnimation2

 //btnClick

 if(currentAnimatuin==1) //doAnim2
 else if currentAnimation==2( //doAnim3
 //etc..

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 4

18.05.2018, 17:37:42 via Website

Danke und wie bekomme ich das jetzt in meinen Programmtext bzw. wie muss ich ihn ändern:

final ImageView Bild1 = (ImageView) findViewById(R.id.imageView);
final Button kaufenKnopf = (Button) findViewById(R.id.button);
final Button weiterKnopf = (Button) findViewById(R.id.button2);

    currentAnimation1
    weiterKnopf.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            AnimationDrawable Animation1 =
                    (AnimationDrawable) Bild1.getDrawable();
            if (BildInhalt = Animation1);
             Bild1.setImageResource(R.drawable.Sweetheart1);
             AnimationDrawable Animation2 =
                     (AnimationDrawable) Bild1.getDrawable();
             Animation2.start();
           if Bild1 =

Sorry, das ich das frage aber ich bin noch relativ am Anfang ;)

Hilfreich?
Diskutiere mit!
Beste Antwort
  • Forum-Beiträge: 483

18.05.2018, 18:49:10 via Website

Hallo
Als erstens darfst und brauchst du deine ImageView Variable nicht final machen, denn somit kannst du ihr kein neuen Inhalt zuweisen.

        ImageView Bild1 = (ImageView) findViewById(R.id.imageView);
        Button kaufenKnopf = (Button) findViewById(R.id.button);
        Button weiterKnopf = (Button) findViewById(R.id.button2);
        int currentAnimation = 1;

 weiterKnopf.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                switch (currentAnimation) {

                    case 1:
                        Bild1.setImageResource(R.drawable.Sweetheart1);
                        break;
                    case 2:
                        Bild1.setImageResource(R.drawable.Sweetheart2);
                        break;
                    case 3:
                        Bild1.setImageResource(R.drawable.Sweetheart3);
                        break;
                }
                currentAnimation++;
                if (currentAnimation > 3) currentAnimation = 1;
            }

— geändert am 18.05.2018, 18:58:04

Hilfreich?
Diskutiere mit!

Empfohlene Artikel