Bildschirm Farbig "aufblitzen" lassen

  • Antworten:3
Tim Meißner
  • Forum-Beiträge: 238

26.11.2010, 22:32:16 via Website

Hallo!

Ich arbeite grade an einer LernApp (siehe Signatur).
Dafür würde ich gerne den Bildschirm in grün / rot aufblitzen lassen, wenn man eine Frage richtig bzw. falsch beantwortet.
Geht das? Wenn ja: wie?

Gruß
Tim

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

27.11.2010, 11:34:38 via Website

Habe ich nicht mangels Bedarf noch nicht selber probiert, aber mein erster Versuch wäre, die Hintergrundfarbe entsprechend zu ändern und dann mit einem Timer nach zB 300 ms die ursprüngliche Farbe wieder einzustellen.

Antworten
Tim Meißner
  • Forum-Beiträge: 238

27.11.2010, 11:37:51 via Website

ich bin inzwischen einen tick weiter.
Es gibt so genannte "TransitionDrawables". Damit kann man im Code dann die Farbe ändern lassen.
Wenn das nicht geht probiere ich das mit der Hintergrundfarbe.

http://stackoverflow.com/questions/2614545/animate-change-of-view-background-color-in-android

Werde aber nicht so ganz schlau daraus.

Hänge grade dabei fest, den Drawable für den Hintergrund zu definieren.

Edit: habe das jetzt mit Background Color gemacht. Kann ich ein LinearLayout auch alle anderen Views kurze Zeit überdecken lassen?

1[transition_red.xml]
2<?xml version="1.0" encoding="UTF-8"?>
3<transition xmlns:android="http://schemas.android.com/apk/res/android">
4 <!-- The drawables used here can be solid colors, gradients, shapes, images, etc. -->
5 <item android:drawable="@drawable/transite_white" />
6 <item android:drawable="@drawable/transite_red" />
7</transition>
8
9
10[transite_red.xml]
11<?xml version="1.0" encoding="UTF-8"?>
12<color>"@android:color/red"</color>

— geändert am 27.11.2010, 12:03:14

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

27.11.2010, 12:48:37 via Website

habe das jetzt mit Background Color gemacht. Kann ich ein LinearLayout auch alle anderen Views kurze Zeit überdecken lassen?

Ich schätze mal, das wird dann eher bescheiden aussehen ;)

Aber wenn du das trotzdem versuchen möchtest:
- FrameLayout könnte da helfen
- oder du versteckst einige/alle Views, während die Hintergrundfarbe geändert ist
- du könntest auch eine neue Activity öffnen und sie dann nach Ablauf der gewünschten Zeit wieder schliessen

Antworten