Føj tilpassede overgange til Android-alarmdialogbokser

Okay, jeg indrømmer det: Folk på Google forkæler mig. De talrige hjælper- og builderklasser, der er til rådighed til Android-udvikling, gør rutinemæssige brugergrænsefladeopgaver så enkle, det er let at overse de dybere muligheder for de indkapslede klasser.

Alarmeringsdialogen og dens builder er et godt eksempel. Selvom der ikke er noget galt med standarddialogen, kan man, hvis man ser ud over byggeriets grundlæggende funktionalitet, den underliggende alarmeringsdialog med et vilkårligt antal måder, før man påkalder show.

Følgende eksempel viser, hvordan du erstatter de tilknyttede on- og off-skærmovergange af en alarmdialog med dit eget XML-animationssæt. Du kan følge med mine trin-for-trin-instruktioner eller downloade og importere hele projektet direkte til Eclipse.

1. Opret et nyt Android-projekt i Eclipse. Mål Android 2.2 eller nyere.

2. I mappen / res / layout skal du ændre Activity_main.xml for at inkludere en knap og en etiket.

activity_main.xml

 "http://schemas.android.com/apk/res/android" xmlns: tools = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent" android: paddingBottom = "@ dimen / Activity_vertical_margin" android: paddingLeft = "@ dimen / Activity_horizontal_margin" android: paddingRight = "@ dimen / Activity_horizontal_margin" android: paddingTop = "@ dimen / Activity_vertical_margin" værktøjer: context = ".MainActivity" > 
android: id = "@ + id / knap1"

android: layout_width = "wrap_content"

android: layout_height = "wrap_content"

android: layout_alignParentBottom = "sandt"

android: layout_centerHorizontal = "sandt"

android: layout_marginBottom = "94dp"

android: text = "Vis dialog" />
android: layout_width = "wrap_content"

android: layout_height = "wrap_content"

android: layout_alignParentTop = "sandt"

android: layout_centerHorizontal = "sandt"

android: layout_marginTop = "46dp"

android: text = "Animeret dialogeksempel" />

3. Opret et bibliotek kaldet "anim" i mappen / res. Vi tilføjer to filer: slide_in_left.xml og slide_out_right.xml.

slide_in_left.xml

 "1.0" encoding = "utf-8" ?> 

"Http://schemas.android.com/apk/res/android"

android: fromXDelta = "100% p" android: toXDelta = "0"

android: varighed = "500" />
 slide_out_right.xml 

"1.0" encoding = "utf-8" ?>

"Http://schemas.android.com/apk/res/android"

android: fromXDelta = "0" android: toXDelta = "100% p"

android: varighed = "500" />

4. Åbn filen /res/values/styles.xml, og tilføj en ny stilknudepunkt kaldet dialog_animation. Det er her vi blot trækker de tidligere definerede animationer ind i en enkelt ressource, som vi kan anvende til et vindue.

styles.xml