, androide trække /fald er muligt inden for rammerne af deres brugere til at flytte data fra en holdning til et andet synspunkt i den nuværende udformning med en grafisk drag og smid gestus.som af api - 11, trække og smid med hensyn til andre synspunkter, eller betragtning grupper støttes. rammerne omfatter følgende tre vigtige elementer til at støtte trække &. smid funktionalitet og minus,,,,, trække begivenhed klasse:,,,,, trække lyttere:,,,, hjælper metoder og klasser:,,,,,,, drag /- proces, der er i fire trin eller stater i træk og slip proces:,,,,,,, begyndte − denne hændelse indtræffer, når du begynder at trække et punkt i en udformning, deres forslag, startdrag(), en metode til at fortælle, at systemet starte et drag.argumenterne i startdrag() metode give oplysninger til at blive slæbt, metadata for disse data, og en callback til at slæbe skygge. systemet reagerer ved at ringe tilbage til din ansøgning om at få et hiv skygge.det viser de slæber skygge på anordningen. næste, systemet udsender et drag begivenhed med tiltag, action_drag_started, at den registrerede trække begivenhed lyttere for alle den opfattelse, som den nuværende indretning, til fortsat at modtage trække begivenheder, herunder et eventuelt fald begivenhed, en drag begivenhed til at lytte, skal vende tilbage, rigtigt, hvis de trækker begivenhed til at lytte, vender forkert, så vil det ikke få trække begivenheder for den nuværende drift, indtil systemet er et drag begivenhed med tiltag, action_drag_ended.,,,, fortsatte, og minus; brugeren fortsætter, drag.system sender action_drag_entered aktion efterfulgt af action_drag_location aktion til den registrerede tilfælde til at lytte til den opfattelse, hvor slæber med punkt kommer ind.de lytter, kan vælge at ændre sin opfattelse objekt er udseende som reaktion på begivenheder eller kan reagere ved at fremhæve dens opfattelse., drag begivenhed til at lytte, modtager en action_drag_exited handling, efter at brugeren har flyttet drag skygge uden for tegnkasse for,.,,,, tabte, og minus; brugeren frigiver de slæbte punkt i omskreven firkant i udsigt.systemet er af den opfattelse, objekt er efter en drag begivenhed med tiltag, action_drop.,,,, sluttede, og minus; efter den type handling action_drop systemet udsender et drag begivenhed med tiltag, action_drag_ended indikerer, at trække operation er overstået.,,, dragevent klasse, dragevent, udgør en begivenhed, der er sendt ud af systemet på forskellige tidspunkter i løbet af en drag og drop operation.denne klasse giver par konstanter og vigtige metoder, som vi bruger i hiv /fald proces., konstanter, efter alle er konstanter tal til rådighed som en del af dragevent klasse. sr.no. konstanter & beskrivelse 1, action_drag_started,, som starter en drag og drop operation., 2, action_drag_entered, signaler til en opfattelse af, at trække punkt trådte tegnkassen af betragtning., 3, action_drag_location, sendes til en opfattelse, efter action_drag_entered, hvis de trækker skygge er stadig i betragtning objekt er tegnkasse., 4, action_drag_exited,, signalerer, at brugeren har flyttet drag skygge uden for omskreven firkant i udsigt. 5, action_drop, signaler til en opfattelse af, at brugeren har frigivet trække skygge, ogtræk er i omskreven firkant i betragtning, 6, action_drag_ended, signaler til en opfattelse af, at slæbe og drop operation er afsluttet.,, metoder, som er vigtigt og hyppigst anvendte metoder, der kan anvendes som en del af dragevent klasse. sr.no. konstanter & beskrivelse 1, int getaction(), inspicere aktionsværdien for denne begivenhed... 2, clipdata getclipdata(), returnerer den clipdata objekt sendt til det system, som er en del af opfordringen til at startdrag()., 3, clipdescription getclipdescription(), returnerer den clipdescription objekt, der er indeholdt i clipdata., 4, boolean getresult(), og vender tilbage til angivelse af resultatet af... og drop operation., 5, svæver getx(), får x samordne af drag.,6, svæver gety(), får y koordinere af drag. 7, snor tostring(), kommer en snor repræsentation af denne dragevent objekt.,, lytte til trække begivenhed, hvis du vil have nogle af deres synspunkter inden for en udformning bør reagere trække begivenhed så din mening enten gennemfører, view.ondraglistener eller fælde, ondragevent (dragevent), denne metode.når systemet kræver den metode, eller til at lytte, går det videre til en dragevent formål beskrevet ovenfor.du kan få en til at lytte, og denne metode til betragtning objekt.hvis dette sker, systemet først ringer til at lytte og så videre, så længe efter afkast defineret. kombinationen af, ondragevent (dragevent), metode og view.ondraglistener, svarer til den kombination af, ontouchevent(), og view.ontouchlistener, anvendes med røre begivenheder i gamle versioner, der starter en androide. drag begivenhed, du starter med at skabe en, clipdata, og clipdata.item, for de data, der bliver flyttet.som en del af det, clipdata, genstand, levering af metadata, der er oplagret i en, clipdescription, rejser indsigelse inden for en frist clipdata.for et hiv og drop operation, der ikke er data, bevægelighed, vil du måske brug for, i stedet for et virkeligt objekt. næste enten kan du udvide udvide, view.dragshadowbuilder, at skabe et drag skygge for at trække den opfattelse, eller du kan bruge, lyset. dragshadowbuilder (betragtning), at skabe en misligholdelse trækker skyggen der er samme størrelse som baggrund argument gik til den med kontakt punkt midt i drag skygge. f.eks. følgende eksempel viser de samme funktioner som en enkelt drag &, smid med opfattelse. setonlongclicklistener(), lyset. setontouchlistener(), og lyset. ondrageventlistener(),.,, skridt beskrivelse. du vil bruge androide studie ide at skabe en androide, anvendelse og navn, det er min ansøgning under den pakke, com.example. saira_000. myapplication,.samtidig med at skabe dette projekt, sørg for, målet sdk, og udarbejder, i den seneste version af androide sdk at anvende højere niveauer af api - grænseflader.2 ændre src /mainactivity.java, dokumentation og tilføje den kode til at definere begivenhed lyttere, samt en ringe metoder til logoet image, der anvendes i f.eks.3 - billede abc.png i res /drawable - *, mapper.du kan bruge billeder med forskellige beslutningsforslag, hvis du ønsker at give dem for forskellige anordninger.4 ændre layout xml - filer, res /layout /activity_main.xml, definerer misligholdelse på logoet billeder.5 - anvendelse til at iværksætte androide emulator og kontrollere resultatet af ændringerne i ansøgningen.efter er indholdet af den ændrede vigtigste aktivitet fil src /mainactivity -.denne dokumentation kan omfatte hver af de grundlæggende livscyklus metoder., pakke com.example.saira_000.myapplication; import android.app.activity; import android.content.clipdata; import android.content.clipdescription; import android.support.v7.app.actionbaractivity; import android.os.bundle; import android.util.log; import android.view.dragevent; import android.view.menu; import android.view.menuitem; import android.view.motionevent; import android.view.view; import android.widget.imageview; import android.widget.relativelayout; offentlige klasse mainactivity udvider aktivitet (imageview img; snor mng, private android.widget.relativelayout.layoutparams layoutparams; @ tilsidesætte beskyttede tomrum oncreate (bundt savedinstancestate){super. oncreate (savedinstancestate); setcontentview (r.layout. activity_main); img = (imageview) findviewbyid (r.id.imageview); img. setonlongclicklistener (ny mening. onlongclicklistener() {@ tilsidesætte offentlige boolean onlongclick (betragtning v) (clipdata. punkt punkt = nye clipdata. punkt (charsequence) v. gettag()); snor [] mimetypes = {clipdescription. mimetype_text_plain}; clipdata dragdata = nye clipdata (v. gettag(). tostring(), mimetypes, punkt). view.dragshadowbuilder myshadow = ny mening. dragshadowbuilder (img); v.startdrag (dragdata, myshadow, nul, 0); tilbage.}}); img.setondraglistenau (nye synspunkter. ondraglistener() {@ tilsidesætte offentlige boolean ondrag (betragtning v, dragevent begivenhed) (skift (ref. getaction()) (sag dragevent.action_drag_started: layoutparams = (relativelayout. layoutparams) v. getlayoutparams(); log. d (msg "handling er dragevent. action_drag_started"); //ikke bryde; sag dragevent.action_drag_entered: log. d (msg "handling er dragevent. action_drag_entered"); int x_cord = (int) begivenhed. getx(); int y_cord = (int) begivenhed. gety(); pause, sag dragevent.action_drag_exited:log. d (msg "handling er dragevent. action_drag_exited"); x_cord = (int) begivenhed. getx(); y_cord = (int) begivenhed. gety(); layoutparams.leftmargin = x_cord; layoutparams.topmargin = y_cord; v.setlayoutparams (layoutparams); pause, sag dragevent.action_drag_location: log. d (msg "handling er dragevent. action_drag_location"); x_cord = (int) begivenhed. getx(); y_cord = (int) begivenhed. gety(); pause, sag dragevent.action_drag_ended: log. d (msg "handling er dragevent. action_drag_ended"); //-intet slår; sag dragevent.action_drop: log. d (msg "action_drop begivenhed"); //ikke bryde, bryde;} tilbage default:.}}); img. setontouchlistener (ny mening. ontouchlistener() {@ tilsidesætte offentlige boolean ontouch (betragtning v, motionevent begivenhed) (hvis (ref. getaction() = = motionevent. action_down) (clipdata data = clipdata. newplaintext ("," "); view.dragshadowbuilder shadowbuilder = ny mening. dragshadowbuilder (img); img. startdrag (data, shadowbuilder, img - 0); img.setvisibility (betragtning. usynlig); tilbage.} andre {tilbage falske}}})} @ tilsidesætte offentlige boolean oncreateoptionsmenu (menu kortet) (//puste menuen. dette tilføjer punkter til den aktion, bar hvis det er til stede.getmenuinflater(). puste (r.menu.menu_main menuen); tilbage.} @ tilsidesætte offentlige boolean onoptionsitemselected (menuitem punkt på dagsordenen) (//klare foranstaltninger bar punkt klik her.aktionen bar //automatisk klare klik på hjem /op knappen, så længe //som de angiver en forælder aktivitet i androidmanifest.xml.int id = post. getitemid(); //noinspection simplifiableifstatement hvis (id = = r.id.action_settings) {tilbage.} tilbage, super. onoptionsitemselected (punkt)), som vil være indholdet af de res /layout /activity_main.xml, fil −, < relativelayout xmlns: androide = "http://schemas.android.com/apk/res/android" xmlns: værktøj = "http://schemas.android.com/tools" androide: layout_width = "match_parent" androide: layout_height = "match_parent" androide: paddingleft = "@ dimension /activity_horizontal_margin" androide: paddingright = "@ dimension /activity_horizontal_margin" androide: paddingtop = "@ dimension /activity_vertical_margin" androide: paddingbottom = "@ dimension /activity_vertical_margin" værktøjer: forbindelse = mai - aftalen ".nactivity "> < textview androide: layout_width =" wrap_content "androide: layout_height =" wrap_content "androide: tekst =" drag og smid eksempel "androide: id =" @ + id /textview "androide: layout_alignparenttop =" ægte "androide: layout_centerhorizontal =" ægte "androide: textsize =" 30dp "/> < textview androide: layout_width =" wrap_content "androide: layout_height =" wrap_content "androide: tekst =" undervise "androide: id =" @ + id /textview2 "androide: layout_below =" @ + id /textview "androide: layout_centerhorizontal =" ægte "androide: textsize =" 30dp "androide: textcolor ="ff14be3c '/> > < imageview androide: layout_width = "wrap_content" androide: layout_heøjre = "wrap_content" androide: id = "@ + id /imageview" androide: src = "@ drawable /abc" androide: layout_below = "@ + id /textview2" androide: layout_alignright = "@ + id /textview2" androide: layout_alignend = "@ + id /textview2" androide: layout_alignleft = "@ + id /textview2" androide: layout_alignstart = "@ + id /textview2" /> < /relativelayout > efter vil være indholdet af de res /værdier /strings.xml, at definere to nye konstanter −, <?xml - version = "0" kodning = "utf - 8"?> < ressourcer > < snor navn = "app_name" > min ansøgning < /snor > < snor navn = "action_settings" > (< /snor > < /ressourcer efter er > misligholdelse indholdet af androidmanifest.xml, −, <?xml - version = "0" kodning = "utf - 8"?> < åbenbar xmlns: androide = "http://schemas.android.com/apk/res/android" pakke = "kom. f.eks. guidemo" androide: versioncode = "1" androide: versionname = "0" > < bruger sdk androide: minsdkversion = "11" androide: targetsdkversion = "22" /> og lt; anvendelse androide: allowbackup = "ægte" androide: ikon = "@ drawable /ic_launcher" androide: fareseddel = "@ snor /app_name" androide: tema = "@ stil /apptheme" > < aktivitet androide: navn = "kom. f.eks. guidemo. mainactivity" androide: fareseddel = "@ snor /app_name" > < hensigt filter > < aktion androide: navn = "androide. forsæt. vigtigste" /> < kategori androide: navn = "android.intent.category.launcher "/> < /hensigt filter > < /aktivitet > < /anvendelse > < /åbenbar > lad os forsøge at løbe din, min ansøgning, anvendelse.jeg går ud fra, at du har skabt din, avd, mens det miljø fælde.at løbe app fra androide studie, åbne en af jeres projekt er aktivitet, filer og klik, ikon fra toolbar.- androiden studie installationer - app på din avd og starter det, og hvis det er fint med din fælde og anvendelse, vil det vise følgende emulator vindue −, nu har længe klik på vises tutorialspoint logo, og du vil se, at logoet image bevæger sig lidt efter 1 sekunder klik fra sin plads, sin tid når du begynder at trække image.du kan få det på skærmen, og smid den på et nyt sted.,,
- androiden drag og smid
Previous:- androiden styles og temaer
Next Page:- androiden sende e - mail