Android Bilde Switcher Tutorial

Noen ganger trenger du ikke ønsker et bilde som skal vises brått på skjermen, i stedet du ønsker å bruke noen form for animasjon til bildet når det overganger fra ett bilde til et annet. Dette støttes av android i form av ImageSwitcher.

Et bilde switcher kan du legge til noen overganger på bildene gjennom måten de vises på skjermen. For å kunne bruke bilde Switcher, må du definere XML komponent først. Syntaksen er gitt nedenfor −
< ImageSwitcher android: id = "+ id /imageSwitcher1" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_centerHorizontal = "true" android: layout_centerVertical = " true "> < /ImageSwitcher >

nå skaper vi en intance av ImageSwithcer i java-fil og få en henvisning til denne XML komponent. Syntaksen er gitt nedenfor −
privat ImageSwitcher imageSwitcher; imageSwitcher = (ImageSwitcher) findViewById (R.id.imageSwitcher1);

Det neste vi må gjøre implementere ViewFactory grensesnitt og implementere unimplemented metode som returnerer en bildeVis . Syntaksen er under −
imageSwitcher.setImageResource (R.drawable.ic_launcher), imageSwitcher.setFactory (ny ViewFactory () {public Vis makeView () {Imageview MyView = ny Imageview (getApplicationContext ()); tilbake MyView;} }

det siste du trenger å gjøre er å legge til animasjon til ImageSwitcher du må definere et objekt av Animation klassen gjennom AnimationUtilities klasse ved å kalle en statisk metode loadAnimation syntaksen er gitt nedenfor −..
Animasjon i = AnimationUtils.loadAnimation(this,android.R.anim.slide_in_left);imageSwitcher.setInAnimation(in);imageSwitcher.setOutAnimation(out);

Metoden setInAnimaton setter animasjon av utseendet på objektet på skjermen mens setOutAnimation gjør det motsatte. Metoden loadAnimation () lager en animasjon objekt.

Bortsett fra disse metodene, er det andre metoder definert . i ImageSwitcher klassen de er definert nedenfor −
Sr.NoMethod & description1 setImageDrawable (teikneteikne)

Setter et bilde med bilde switcher bildet er vedtatt i form av punktgrafikk.
2 setImageResource (int resid)

Setter et bilde med bilde switcher. bildet er vedtatt i form av heltall id
3 setImageURI (Uri uri)

Setter et bilde med bilde switcher. bildet er vedtatt i form av URI
4 ImageSwitcher (Context kontekst, AttributeSet attrs)

Returnerer et bilde switcher objekt med allerede sette noen attributter vedtatt i metoden
5 onInitializeAccessibilityEvent (AccessibilityEvent hendelse)

Initialiserer en AccessibilityEvent med informasjon om denne visningen som er tilfelle kilde
6 onInitializeAccessibilityNodeInfo (AccessibilityNodeInfo info)

Initialiserer en AccessibilityNodeInfo med informasjon om dette synet

eksempel

eksempelet nedenfor viser noen av de bilde switcher effekter på bitmap. Det kasser et grunnleggende program som lar deg se animasjonseffekter på bildene.

For å eksperimentere med dette eksempelet, må du kjøre dette på en faktisk enhet.
StepsDescription1You vil bruke Android studio IDE å skape en Android-applikasjon 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 for å bruke høyere nivåer av APIs.2Modify src /MainActivity.java filen for å legge nødvendig code.3Modify res /layout /activity_main å legge respektive XML components4Run programmet og velge en som kjører android-enhet og installere programmet på den og kontrollere resultatene

Følgende er innholdet av den endrede hovedaktivitet fil src /MainActivity.java
.
pakken com.example.sairamkrishna.myapplication, import android.app.Activity, import android.app.ActionBar.LayoutParams, import android.app.Activity, import android.os.Bundle, import android.view.Menu, import android.view.MenuItem, import android.view.View, import android.widget.Button, import android.widget.ImageSwitcher, import android.widget.ImageView, import android.widget.Toast, import android.widget.ViewSwitcher.ViewFactory; public class MainActivity strekker aktivitet {private ImageSwitcher sw; privat Button b1, b2; Override Beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); b1 = (Button) findViewById (R.id.button); b2 = (Button) findViewById (R.id.button2); sw = (ImageSwitcher) findViewById (R.id.imageSwitcher); sw.setFactory (ny ViewFactory () {Override offentlig Vis makeView () {Imageview MyView = ny Imageview (getApplicationContext ()); myView.setScaleType (ImageView.ScaleType.FIT_CENTER); myView.setLayoutParams (nye ImageSwitcher.LayoutParams (LayoutParams. WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); tilbake MyView;}}); b1.setOnClickListener (ny View.OnClickListener () {Override public void onClick (Vis v) {Toast.makeText (getApplicationContext (), "forrige Image", Toast.LENGTH_LONG) .vis (); sw.setImageResource (R.drawable .abc);}}); b2.setOnClickListener (ny View.OnClickListener () {Override public void onClick (Vis v) {Toast.makeText (getApplicationContext (), "Next Image", Toast.LENGTH_LONG) .vis (); sw.setImageResource (R.drawable .tp);}}); }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 handlingslinjen element klikk her. Handlingen bar vil //automatisk håndtere klikk 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 (post); }}

Følgende er endret innholdet i xml 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: text = "Gestures Eksempel" android: layout_width = "wrap_content" android: layout_height = "wrap_content" 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 = "Guider point" android: id = "+ id /textView" android: layout_below = "+ id /textview" android: layout_centerHorizontal = "true" android: textcolor = "# ff7aff24" android: Tekststørrelse = "35dp" /> ≪ ImageSwitcher android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /imageSwitcher" android: layout_below = "+ id /textView" android: layout_centerHorizontal = "true" android: layout_marginTop = "168dp" /> ≪ Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "<" android: id = "+ id /knapp" android: layout_below = "+ id /textView" android: layout_centerHorizontal = "true" /> ≪ Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = ">" android: id = "+ id /knappen2" android: layout_alignParentBottom = "true" android: layout_alignLeft = "+ id /knapp "android: layout_alignStart =" + id /knapp "/> ≪ /RelativeLayout >

Følgende er innholdet av AndroidManifest.xml
fil
. ≪? Xml version = "1.0" encoding = "utf-8" >? ≪ manifest xmlns : android = "http://schemas.android.com/apk/res/android" pakken = "com.example.imageswitcher" android: version = "1" android: Versjons = "1.0" > ≪ søknad android: allowBackup = "true" android: icon = "@ teikne /ic_launcher" android: label = "@ string /app_name" android: tema = "@ stil /AppTheme" > ≪ aktivitet android: name = "com.example.sairamkrishna.myapplication.MainActivity" android: label = "@ string /app_name" > ≪ intent-filter > ≪ handling android: name = "android.intent.action.MAIN" /> ≪ kategorien android: name = "android.intent.category.LAUNCHER" /> ≪ /intent-filter > ≪ /aktivitet > ≪ /søknad > < /manifest >

La oss prøve å kjøre programmet vi bare endret. Jeg antar at du hadde laget din AVD
mens du gjør oppsett miljø. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Android studio installerer programmet på AVD og starter den, og hvis alt er bra med oppsettet og anvendelse, vil det vise følgende Emulator vindu og minus;

Nå, hvis du vil se på skjermen på enheten din, vil du se to knapper.

nå bare velge den øverste knappen som høyre pil. Et bilde vil dukke opp fra høyre og bevege seg mot venstre. Det er vist nedenfor −

Nå trykker du på knappen nedenfor, som vil bringe tilbake det forrige bildet med noen overgang. Det er vist nedenfor −