Android Animasjoner Tutorial

Animasjon er prosessen med å skape bevegelse og form endring

Animasjon i android er mulig fra mange måter. I dette kapittelet vil vi diskutere en enkel og mye brukt måte å lage animasjon kalt tweened animasjon.

Tween animasjon

tar Tween animasjon noen parametere som startverdi, sluttverdi, størrelse, varighet , rotasjon vinkel etc og utføre de nødvendige animasjon på dette objektet. Den kan brukes på alle typer objekter. Så for å bruke denne, har android gitt oss en klasse kalt Animation.

For å utføre animasjon i android, vi kommer til å kalle en statisk funksjon loadAnimation () av ​​klassen AnimationUtils. Vi kommer til å få resultatet i en forekomst av animasjonsobjekt. Syntaksen er som følger −
Animation animasjon = AnimationUtils.loadAnimation (getApplicationContext (), R.anim.myanimation);

Legg merke til den andre parameteren. Det er navnet på vår animasjons xml fil. Du må lage en ny mappe som heter anim
henhold res katalog og lage en xml fil under anim mappe

Denne animasjonen klassen har mange nyttige funksjoner som er listet opp nedenfor.
Sr. NoMethod & Description1 start ()

Denne metoden starter animasjonen.
2 setDuration (lang varighet)

Denne metoden setter varigheten av en animasjon.
3 getDuration ()

Denne metoden blir varigheten som er satt av over metoden
4 end ()

Denne metoden ender animasjonen.
5 < b> Avbryt ()

Denne metoden avbryter animasjon.

For å bruke denne animasjonen til et objekt, vil vi bare ringe startAnimation () -metoden av objektet. Syntaksen er −
Imageview image1 = (Imageview) findViewById (R.id.imageView1); image.startAnimation (animasjon);
Eksempel

Følgende eksempel viser bruken av animasjon i android . Du vil være i stand til å velge annen type animasjon fra menyen og den valgte animasjonen vil bli brukt på en bildeVis på skjermen.

For å eksperimentere med dette eksempelet, må du kjøre dette på en emulator eller en faktisk enhet.
StepsDescription1You vil bruke Android studio IDE å lage en Android-applikasjon, og gi det et navn som My Application under en pakke com.example.sairamkrishna.myapplication. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å legge til animasjon code3Modify layout XML fil res /layout /activity_main.xml legge noen GUI-komponent hvis required.4Create en ny mappe under res katalogen og kaller det anim. Confim det ved å besøke res /anim5Right klikk på anim og klikk på nytt og velge Android XML fil Du må opprette forskjellige filene som er oppført below.6Create filer myanimation.xml, clockwise.xml, fade.xml, move.xml, blink. xml, slide.xml og tilsett XML code.7No må endre standard string konstanter. Android studio tar seg av standard konstanter på verdier /string.xml.8Run programmet og velge en som kjører Android-enhet, og installere programmet på den og verifisere resultatene.

Her er den modifiserte koden MainActivity.java < . br>
pakken com.example.sairamkrishna.myapplication, import android.app.Activity, import android.os.Bundle, import android.view.Menu, import android.view.MenuItem, import android.view.View; import android.view.animation.Animation, import android.view.animation.AnimationUtils, import android.widget.ImageView, import android.widget.Toast; public class MainActivity strekker Aktivitet {Override beskyttet void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R.layout.activity_main); } Public void klokken (Vis visning) {Imageview image = (Imageview) findViewById (R.id.imageView); Animasjon animasjon = AnimationUtils.loadAnimation (getApplicationContext (), R.anim.myanimation); image.startAnimation (animasjon); } Public void zoom (Vis visning) {Imageview image = (Imageview) findViewById (R.id.imageView); Animasjon animation1 = AnimationUtils.loadAnimation (getApplicationContext (), R.anim.clockwise); image.startAnimation (animation1); } Public void fade (Vis visning) {Imageview image = (Imageview) findViewById (R.id.imageView); Animasjon animation1 = AnimationUtils.loadAnimation (getApplicationContext (), R.anim.fade); image.startAnimation (animation1); } Public void blink (Vis visning) {Imageview image = (Imageview) findViewById (R.id.imageView); Animasjon animation1 = AnimationUtils.loadAnimation (getApplicationContext (), R.anim.blink); image.startAnimation (animation1); } Public void flytte (Vis visning) {Imageview image = (Imageview) findViewById (R.id.imageView); Animasjon animation1 = AnimationUtils.loadAnimation (getApplicationContext (), R.anim.move); image.startAnimation (animation1); } Public void sklie (Vis visning) {Imageview image = (Imageview) findViewById (R.id.imageView); Animasjon animation1 = AnimationUtils.loadAnimation (getApplicationContext (), R.anim.slide); image.startAnimation (animation1); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

Her er den modifiserte koden res /layout /activity_main.xml
< RelativeLayout xmlns:. android = "http://schemas.android.com/apk/res/android "xmlns: verktøy =" http://schemas.android.com/tools "android: layout_width =" match_parent "android: layout_height =" match_parent "android: paddingLeft =" @ dimen /activity_horizontal_margin "android: paddingRight =" @ dimen /activity_horizontal_margin "android: paddingTop =" @ dimen /activity_vertical_margin "android: paddingBottom =" @ dimen /activity_vertical_margin "verktøy: kontekst =" MainActivity ">. < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Dialog Alert" android: id = "+ id /textView" android: Tekststørrelse = "35dp" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true" /> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Tutorialspoint" android: id = "+ id /textView2" android: textcolor = "# ff3eff0f" android: Tekststørrelse = "35dp" android: layout_below = "+ id /textView" android: layout_centerHorizontal = "true" /> < Imageview android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /bildeVis" android: src = "@ teikne /logo" android: layout_below = "+ id /textView2" android : layout_alignRight = "+ id /textView2" android: layout_alignEnd = "+ id /textView2" android: layout_alignLeft = "+ id /textView" android: layout_alignStart = "+ id /textView" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "zoom" android: id = "+ id /knapp" android: layout_below = "+ id /bildeVis" android: layout_alignParentLeft = "true" android: layout_alignParentStart = "true" android: layout_marginTop = "40dp" android: onclick = "klokken" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "klokken" android: id = "+ id /knappen2" android: layout_alignTop = "+ id /knapp" android: layout_centerHorizontal = "true" android: onclick = "zoom" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "fade" android: id = "+ id /Button3" android: layout_alignTop = "+ id /knappen2" android: layout_alignParentRight = "true" android: layout_alignParentEnd = "true" android: onclick = "fade" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "blink" android: onclick = "blink" android: id = "+ id /button4" android: layout_below = "+ id /knapp "android: layout_alignParentLeft =" true "android: layout_alignParentStart =" true "/> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "flytte" android: onclick = "flytte" android: id = "+ id /Button5" android: layout_below = "+ id /knappen2 "android: layout_alignRight =" + id /knappen2 "android: layout_alignEnd =" + id /knappen2 "android: layout_alignLeft =" + id /knappen2 "android: layout_alignStart =" + id /knappen2 "/> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "slide" android: onclick = "slide" android: id = "+ id /button6" android: layout_below = "+ id /Button3 "android: layout_toRightOf =" + id /textView "android: layout_toEndOf =" + id /textView "/> < /RelativeLayout >

Her er koden for res /anim /myanimation.xml
. <? xml version = "1.0" encoding = "utf-8" >? < satt xmlns: android = "http://schemas.android.com/apk/res/android" > < skala xmlns: android = "http://schemas.android.com/apk/res/android" android: fromXScale = "0.5" android: toXScale = "3.0" android: fromYScale = "0.5" android: toYScale = " 3,0 "android: varighet =" 5000 "android: pivotX =" 50% "android: pivotY =" 50% "> < /skala > < skala xmlns: android = "http://schemas.android.com/apk/res/android" android: startOffset = "5000" android: fromXScale = "3.0" android: toXScale = "0.5" android: fromYScale = " 3,0 "android: toYScale =" 0.5 "android: varighet =" 5000 "android: pivotX =" 50% "android: pivotY =" 50% "> < /skala > < /set >

Her er koden for res /anim /clockwise.xml
. <? xml version = "1.0" encoding = "utf-8" >? < satt xmlns: android = "http://schemas.android.com/apk/res/android" > < rotere xmlns: android = "http://schemas.android.com/apk/res/android" android: fromDegrees = "0" Android: toDegrees = "360" android: pivotX = "50%" android: pivotY = "50%" android: varighet = "5000" > < /rotere > < rotere xmlns: android = "http://schemas.android.com/apk/res/android" android: startOffset = "5000" Android: fromDegrees = "360" Android: toDegrees = "0" android: pivotX = " 50% "android: pivotY =" 50% "android: varighet =" 5000 "> < /rotere > < /set >

Her er koden for res /anim /fade.xml
. <? xml version = "1.0" encoding = "utf-8" >? < satt xmlns: android = "http://schemas.android.com/apk/res/android" android: interpolator = "@ android: anim /accelerate_interpolator" > < alfa android: fromAlpha = "0" android: toAlpha = "1" android: varighet = "2000" > < /alfa > < alfa android: startOffset = "2000" android: fromAlpha = "1" android: toAlpha = "0" android: varighet = "2000" > < /alfa > < /set >

Her er koden for res /anim /blink.xml
. <? xml version = "1.0" encoding = "utf-8" >? < satt xmlns: android = "http://schemas.android.com/apk/res/android" > < alfa android: fromAlpha = "0.0" android: toAlpha = "1.0" android: interpolator = "@ android: anim /accelerate_interpolator" android: varighet = "600" android: repeatMode = "omvendt" android: repeatCount = "uendelig" /> < /set >

Her er koden for res /anim /move.xml
. <? xml version = "1.0" encoding = "utf-8"? > < satt xmlns: android = "http://schemas.android.com/apk/res/android" android: interpolator = "@ android: anim /linear_interpolator" android: fillAfter = "true" > < sette android: fromXDelta = "0% p" android: toXDelta = "75% p" android: varighet = "800" /> < /set >

Her er koden for res /anim ? /slide.xml
< xml version = "1.0" encoding = "UTF-8" > < sett xmlns:? android = "http://schemas.android.com/apk/res /android "android: fillAfter =" true "> < skala android: varighet = "500" android: fromXScale = "1.0" android: fromYScale = "1.0" android: interpolator = "@ android: anim /linear_interpolator" android: toXScale = "1.0" android: toYScale = "0.0" /> < /set >.

Her er den modifiserte koden res /verdier /string.xml
< resources > < string name = "APP_NAME" > My Application < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < /ressurser >

Her er standardkoden for AndroidManifest.xml
. <? xml version = "1.0 "encoding =" utf-8 "> < manifest xmlns:? android =" http://schemas.android.com/apk/res/android "pakken =" com.example.sairamkrishna.myapplication "android: version = "1" android: versjon = "1.0" > < søknad android: allowBackup = "true" android: icon = "@ teikne /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: name = "com.example.animation.MainActivity" android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < /søknad > < /manifest >

La oss prøve å kjøre programmet. Jeg antar at du har koblet den faktiske Android Mobile-enhet med datamaskinen. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Android studio vil vise følgende Images

Velg zoom-knapp, vil det vise følgende skjermbilde −

Nå velger glideknappen, vil det vise følgende skjermbilde

Velg nå flytte knappen, det vil vise følgende skjermbilde

Nå er klokken knappen, vil det vise følgende skjermbilde

Nå Fade-knappen, vil det vise følgende skjermbilde

Merk − Hvis du kjører den i emulator, kan du ikke oppleve jevn animasjon effekt. Du må kjøre den i din android mobilen for å oppleve jevn animasjon. Anmeldelser