top of page

Power Apps Hacks - Animationen in Power Apps mit Timern erstellen

  • Autorenbild: kim
    kim
  • 12. Jan. 2022
  • 3 Min. Lesezeit

Aktualisiert: 31. Mai 2025

💡 Hinweis in eigener Sache

Du willst Power Apps & Power Automate von Grund auf lernen? In meinem Onlinekurs „Lisa’s Challenge – Zeiterfassung mit Power Apps & Automate“ begleite ich dich Schritt fĂŒr Schritt beim Aufbau deiner ersten Business-App.

 👉 Jetzt Kurs ansehen

 🎁 Tipp: Trag dich hier ein und erhalte den Kurs kostenlos! Gilt nur bis 31.08.25!



Herzlich willkommen und Moin Moin zu diesem Beitrag in der Videoserie "Power Apps Hacks".


In dieser Serie behandeln wir einen bunten Blumenstrauß an Power Platform Tipps, Tricks und Funktionen.

In diesem Beitrag zeigen wir Euch, wie Ihr kleine Animationen mit dem Timer-Steuerelement in Power Apps erstellen könnt.


Wenn Ihr Ideen fĂŒr diese Videoreihe habt, hinterlasst uns einfach einen Kommentar unter dem Video!


Im Video stellen wir drei Use Cases vor. In diesem Blogbeitrag geben wir dazu nochmal eine Schritt-fĂŒr-Schritt-Anleitung, wie Ihr alle drei Use Cases nachbauen könnt.



Notify ĂŒber einen Timer ein- und ausblenden


1. Lable einfĂŒgen und als "lblNotify" benennen

Anschließen in der Text-Eigenschaft den Text eingeben, den der User ausgespielt bekommen soll.


2. Timer "tmrNotify" einfĂŒgen und die Duration/Dauer auf 3000 (3 Sekunden) einstellen.

Diese Dauer ist spĂ€ter dafĂŒr verantwortlich, wie lange die Mitteilung sichtbar ist.

Die Duration wird dabei stets in Millisekunden angegeben.


3. Einen Button einfĂŒgen und als "btnSend" benennen


4. OnSelect-Eigenschaft des "btnSend" mit einer Kontextvariable "locStartTimer" fĂŒllen

UpdateContext({locStartTimer:true})

5. Auf der Start-Eigenschaft des Timer - tmrNotify.Start - die Kontextvariable "locStartTimer" hinterlegen

So wird der Timer nur gestartet, wenn diese Variable = true ist, also der Nutzer den "btnSend" betÀtigt.


6. Die Fill-Eigenschaft unseres "lblNotify" anpassen, sodass diese mit Ablauf des Timers stĂŒckweise von grĂŒn auf durchsichtig/transparent wechselt

Mit der Laufzeit (Value) des Timers erhöht sich der Wert von "tmrLocStart.Value/tmrLocStart.Duration" von 0 (Timer hat noch nicht begonnen) auf 1 (Timer ist einmal durchgelaufen).

Am Ende eines Timer-Durchlaufs haben wir so das Ergebnis 0.

Sobald der Timer startet, wird die FĂŒllung zunehmend transparent, bis sie schließlich, sobald der Timer einmal durchgelaufen ist, vollstĂ€ndig transparent ist. (Berechnung: 1-1 = 0)

RGBA(54, 176, 75, 1 - tmrLocStart.Value/tmrLocStart.Duration)

7. Dasselbe Prinzip wenden wir auf die Schriftfarbe (Color-Eigenschaft) unseres "lblNotify" an

Bevor der Timer gestartet wird, ist die Schriftfarbe schwarz und wird dann zunehmend transparent.

RGBA(0, 0, 0, 1 - tmrLocStart.Value/tmrLocStart.Duration)


Slider mittels Timer ĂŒber die BildschirmflĂ€che laufen lassen


1. Lable "lblSlider" einfĂŒgen und mit gewĂŒnschtem Text fĂŒllen, z.B. "+++Timer sind super+++"


2. Timer "tmrSlider" einfĂŒgen


3. Eigenschaften "Autostart" und "Repeat"/"Wiederholen" fĂŒr "tmrSlider" = true setzen

So wird der Timer automatisch gestartet, sobald der Nutzer auf dem Bildschirm ist, wo dieser Timer liegt. Das Ganze kann natĂŒrlich auch ĂŒber eine Kontextvariable, wie im oberen Beispiel, gestartet werden. Die Repeat oder Wiederholen-Eigenschaften setzen wir =true, damit der Timer immer wieder von vorne startet, wenn er beendet wurde.


4. Duration/Dauer des "tmrSlider" auf = 1 setzen (=1 ms Laufzeit fĂŒr den Timer)


5. Auf der OnTimerEnd-Eigenschaft setzt Ihr eine Kontextvariable "locX" mit der UpdateContext()-Funktion

Der Code unterhalb sorgt dafĂŒr, dass jedes Mal, wenn der Timer beendet wird, der Wert fĂŒr locX sich verĂ€ndert (Ă€hnlich wie bei einer Loop/Schleife).

Solange der Slider auf dem Bildschirm ist, also locX kleiner ist als die Breite der App (App.Width), werden in jedem Durchlauf 10 auf den Wert von locX (locX + 10) addiert.

Sobald er aus dem Bildschirm wandert, soll der Slider wieder von links einlaufen. (locX=0)

UpdateContext(
    {
        locX: If(
//Solange Slider auf dem Bildschirm
            locX <= App.Width,
            locX + 10,
//Ansonsten wieder von links einlaufen
            0
        )
    }
)

6. Den X-Wert fĂŒr den lblSlider mit locX fĂŒllen.

Somit wird Euer X-Wert mit jedem Timerdurchlauf neu definiert, locX verĂ€ndert jede Millisekunde seinen Wert und der "lblSlider" wandert ĂŒber den Bildschirm.




Einen Ladebalken in Power Apps animieren

1. Timer "tmrLoading" einfĂŒgen und die Duration/Dauer auf 2000 (2000ms = 2 Sekunden) setzen


2. Lable "lblLoadingBar" einfĂŒgen, Text entfernen, FĂŒllfarbe auf Blau und Breite = 600


3. DarĂŒber einen Lable "lblLoadingHeader" einfĂŒgen und mit dem Text "Ladevorgang: " versehen


4. Einen Button "btnSpeichern" einfĂŒgen, der eine Kontextvariable auf seiner OnSelect-Eigenschaft erstellt

UpdateContext({locStartLoading:true})

5. Start-Eigenschaft des Timers mit der Kontexvariable "locStartLoading" fĂŒllen

So wird der Timer ausgelöst, sobald diese Variable = true ist bzw. der Button "btnSpeichern" betÀtigt wird.


6. Die Breite des lblLoadingBar auswĂ€hlen und folgende Funktion einfĂŒgen:

600 * tmrLoading.Value/tmrLoading.Duration

Diese Funktion sorgt dafĂŒr, dass die LĂ€nge des Lable stĂŒckweise (mit der Laufzeit des Timers) zunimmt, bis der Wert fĂŒr tmrLoading.Value/tmrLoading.Duration = 1 ist, der Timer also abgeschlossen ist und der Lable seine volle Breite (600*1) erreicht hat.


7. In die Text-Eigenschaft des "lblLoadingHeader" folgende Funktion einfĂŒgen:

"Ladevorgang: "& Round(tmrLoading.Value/tmrLoading.Duration,2)*100& " %"

So wird wÀhrend der Timerlaufzeit der Fortschritt in Prozent ausgegeben.






 
 
 

Kommentare


bottom of page