,,,,,,,,,,, 24, deel 4,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,,,,,, je creëert, invoering van een genie, is het niet nodig dat een aanvraag om nieuwe gebruikers zich welkom voelen en comfort kunnen genieten van een reputatie dat ze verloren en in de war.Dus, veel bedrijven om ervoor te zorgen dat hun klanten hebben een goed in de rang van ervaring.,, als je naar de ontwikkeling van een innovatieve toepassing van de functie en het gebruik van de nieuwe gebruikers, niet mogelijk was, moet je rekening houden met het toevoegen van nieuwe scherm je aanvragen.In deze handleiding, ik zal je laten zien van een eenvoudige methode te creëren en toevoegen aan je androïde toepassing scherm, 1.De toevoeging van instrumenten, afhankelijk van de eerste, verhoging van het materiaal, het ontwerp van de Bank, de samenstelling van de build.gradle, afhankelijk van de,,, de procedures, de module laat je in de oude versie van de androïde kan de androïde l bu elementen.,, de samenstelling van de Commissie. Github materiaal. Navasmdc: ontwerp: 1,5 @ aar ", de volgende., toe te voegen, bewerken, afhankelijk van smarttablayout, de bibliotheek, ViewPager, aangepaste titel, onderdelen, de samenstelling van de vergadering.,. Ogaclejapan. Smarttablayout: Bibliotheek: 1.2.1 @ aar, zullen we ook met steun van de androïde V4 bibliotheek.Maar, je moet niet met de hand aan, want de androïde studio 's standaard toe te voegen, 2.Definitie van de beroepsopleiding, de indeling van activiteiten, activiteiten, de toetreding, zal alle rekruten, die verantwoordelijk is voor het scherm.Dus, deze activiteiten, zal de volgende onderdelen:,,,,, dat de gebruiker het voorbeeld ViewPager, gebaren komen uit een van de nieuwe schermen door naar de volgende.,,, buttonflat, etikettering, skip, waardoor de gebruiker van de dienst overslaan, ongeduldig.,,, buttonflat, Mark. De volgende door De gebruikers, de volgende vermelding scherm.,,, smarttablayout, als deze, ViewPager, bladzijde indicator.,, om deze kleine onderdelen (schema, na, de locatie, de positie van opleiding, activiteiten in de lay - out van de code moet XML - bestand, ziet er als volgt uit:,, <?De XML - = "1" codering = "utf - 8"?> < xmlns:Android = "(schema http://schemas.android.com/apk/res/android 'xmlns: programma =" http://schemas.android.com/apk/res-auto "Android:layout_width =" match_parent "Android:layout_height =" match_parent "> < android.support.v4.view.viewpager Android:layout_width =" match_parent "Android:layout_height =" "" "match_parent Android:ID = + ID /Pieper /> < Android:layout_width hiërarchie" match_parent "Android:layout_height = = = = = = =" wrap_content "Android:layout_alignparentbottom =" waar "Android:ID =" identiteitskaart "+ /-" > < com.gc.materialdesign.views.buttonflat Android:layout_width = "0dp" Android:layout_height = "wrap_content"- layout_weight = "0,5" robot "Spring": de tekst = Android:ID = "+ ID /... /> < com.gc.materialdesign.views.buttonflat Android:layout_width =" 0dp "Android:layout_height =" wrap_content "Android:layout_weight = 0,5" robot ": de tekst =" volgende "..." "id = + ID /de volgende /> < /hiërarchie > < com.ogaclejapan.smarttablayout.smarttablayout Android:ID =" + ID /index "Android:layout_width =" wrap_content "Android: layout_height =" "" "wrap_content Android:layout_above = + ID /navigatie - layout_marginbottom =" 20dp "Android:layout_centerhorizontal =" echte "stl_divide van toepassing:Rthickness = "0dp" van toepassing is: stl_indicatorcolor = "# 1e88e5" /> < /(schema >,, veranderen indeling in overeenstemming met uw voorkeuren zijn.Ik zal inroepen van de opstelling van de documenten, activity_onboarding. XML,.,, 3.Vaststelling van de indeling van het scherm in de post,, in de les, je zal leiden tot drie nieuwe scherm.Hou het simpel training, het scherm zal slechts twee structuur, delen.Bij de praktische toepassing, zou je ook moeten blijven in dienst van het scherm moet zo eenvoudig mogelijk zijn, om te voorkomen dat de nieuwe gebruikers niet, als ze je aanvraag. Voor de eerste keer, de eerste - scherm naam onboarding_screen1.xml lay - out, en heeft de volgende inhoud:,, <?De XML - = "1" codering = "utf - 8"?> < hiërarchie xmlns:Android = "http://schemas.android.com/apk/res/android" androïde: - = "verticale" - layout_width = "match_parent" Android:layout_height = "match_parent" androïde: vol = "16dp": de zwaartekracht... "" > center_horizontal = < structuur Android:layout_width = "wrap_content" Android:layout_height = "wrap_content" = ": de tekst... Welkom!"- de omvang van de tekst: "48sp" Android:layout_margintop = "50dp" /> < structuur Android:layout_width = "wrap_content" Android:layout_height = ": de omvang van de tekst wrap_content"... "" Android:layout_margintop = = = = = = = 24sp "20dp androïde: het" = "Je lijkt een nieuwe gebruikers." /> < /hiërarchie >,, met hetzelfde XML - in de twee andere scherm en hun naam, onboarding_screen2.xml opstelling van de documenten, XML, onboarding_screen3,.Natuurlijk, je moet de tekst veranderen, eigenschappen van elke component, de structuur, zodat elke binnenkomst scherm is uniek.,, 4.Het creëren van een fragment, elke binnenkomst, schermen, het creëren van een nieuwe klasse van de Java -, het is de naam van de onboardingfragment1. Java,.Laat het kind en de fragmenten, oncreateview herschrijven, en methoden.De volgende stap, een uitbreiding van het oog,,, de methode, met onze definitie, de indeling en de terugkeer van mening onboarding_screen1.xml,,,.Je moet de les is dat de uitbreiding van onboardingfragment1:,, de les. {"leeg" boven de ogen van het publiek oncreateview (LayoutInflater inflater, oog - groep van containers, straal 's) {terug opgeblazen. De inflatie (r.layout.onboarding_screen1, container, valse);}},,, fragmenten, Je eerste binnenkomst scherm nu is er klaar voor.Volgens dezelfde methode voor het creëren van twee fragmenten, kinderen, onboardingfragment2.java, onboardingfragment3, Java, gebruik van de regeling. De definitie van, respectievelijk, onboarding_screen3.xml onboarding_screen2.xml,,,, 5.Het creëren van banen in de opleiding, de activiteiten, het creëren van een nieuwe klasse van de Java -, het is de naam van de onboardingactivity. Java,.Laat het kind, fragmentactivity, en die verder gaan dan het voor de onCreate,,,,, het openbaar onderwijs onboardingactivity uitbreiding fragmentactivity {@ beschermde nietig oncreate (pakket savedinstancestate {-). OnCreate (savedinstancestate);}}, en de volgende, aangekondigd dat een smarttablayout ViewPager,,,,,,, buttonflat, - als de variabelen van de klas, Pieper, particuliere ViewPager; particuliere smarttablayout indicatoren; de particuliere buttonflat overslaan; particuliere buttonflat;,, in onCreate methode, telefoon, setContentView, blijkt duidelijk, de indeling van activity_onboarding.xml, en het gebruik van findViewById, zullen de variabelen voor de setContentView (r.layout.,,. Activity_onboarding Pieper = (ViewPager);) findViewById(r.id.pager); index = (smarttablayout) findViewById (r.id.indicator); over de = (buttonflat) findViewById (r.id.skip); = (buttonflat) findViewById (r.id.next);,, je moet nu het creëren van een,,, fragmentstatepageradapter, gebruik kunnen maken van ViewPager, het scherm in dienst.Het creëren van een nieuwe variant van een type, fragmentstatepageradapter, en de naam van het verbindingsstuk.De resultaten van het door de getsupportfragmentmanager gestart, de constructie.Want het is een abstracte, androïde studio automatisch zal leiden tot de produktie van de code, zoals hieronder aangegeven. Fragmentstatepageradapter adapter, = nieuwe fragmentstatepageradapter (getsupportfragmentmanager () {-) een fragment getitem (int standpunt) {}) - int getcount () {}};,, in getCount,,, terug naar de nummers op de schermen in de rang, -.,: int getcount () {terugkeer 3;}, en de toevoeging van een verklaring over GETITEM,,, is de juiste, fragmenten van de methode, gebaseerd op de waarde van de positie, de,,, een fragment getitem (int standpunt) {schakelaars (plaats) (zaak T - 0: terug naar de onboardingfragment1 (1); Zaak C -: de nieuwe rekruten.Fragment2 (2); de zaak terug onboardingfragment3 (); de standaardwaarde: terug van nul;}}, nog steeds in onCreate, methoden, vereniging, fragmentstatepageradapter, en, door een beroep te doen op de setadapter ViewPager,,, de methode, de Pieper. Setadapter (adapter);,,, ViewPager, klaar Nu,,, het smarttablayout, door een beroep te doen op de setviewpager,,.,, van de indicatoren. Setviewpager (Pieper);,, is het tijd om aan de op de procedures, buttonflat, delen.Je kan het doen, setonclicklistener, door middel van een nieuwe klasse van het voorbeeld van de view.onclicklistener,,.,,, skip, druk op de knop aan, een methode die, finishonboarding,.We zullen in de volgende fase van de toepassing van deze methode.,,, de volgende, druk op de knop, de verwerker, setcurrentitem, met getcurrentitem, naar de volgende nieuwe scherm.Bovendien, als getcurrentitem, terug de laatste rekruten scherm, een methode die, finishonboarding,.Zullen we op het moment dat deze methode, op het vlak van begeleider eruit moet zien:,, skip. Setonclicklistener (nieuwe horizon. Onclicklistener () {- de leegte onclick (overzicht) {finishonboarding ();}}); ten tweede, setonclicklistener (nieuwe perspectieven onclicklistener () {-). Nietig onclick (Overzicht) {als (een Pieper. Getcurrentitem () = = = = = = = {2) ///////finishonboarding laatste scherm () {} anders; de Pieper. Setcurrentitem (Pieper. Getcurrentitem (+ 1), waar);}}});,, misschien wil je in dienst, de activiteiten van indeling is veranderd. Zoals verwijderd, skip, druk op de knop en de wijziging van de op de etiketten van de,,, dit te doen, wanneerDe gebruiker tot vorig jaar in dienst van het scherm.Je kan door de toevoeging van een simpleonpagechangelistener smarttablayout,,,, en te herschrijven, onpageselected,.,, (nieuwe indicatoren. Setonpagechangelistener ViewPager. Simpleonpagechangelistener () {- de leegte onpageselected (int standpunt) {als (= = 2) {overgeslagen. Setvisibility (waarden. Die verdwijnen); ('} {'); anders. Setvisibility (concept. Zichtbare); ten tweede, de setText ("in het kader van een");}}});,, 6.Ten einde in de ervaring van alle rekruten, als gebruikers van de keuze van hun scherm, of niet, je moet een einde maken aan de ervaring van de rekruten, door een beroep te doen op de finishonboarding (dit is, en we in de vorige stap op het gebruik van de benaming), in finishonboarding,.,,, moet aan de toepassing van een verwijzing naar SharedPreferences het voorwerp van een procedure en het opzetten van een boer,,, met de nadruk op de onboarding_complete, echt, gebruik, putboolean, methode.We gebruiken deze een belangrijke volgende stap om ervoor te zorgen dat de gebruikers van de dienst het scherm zien ze niet verder in de rang van het proces alleen maar. En, de volgende stap is het creëren van een nieuwe opzet, en noemt, noemen startActivity, voornamelijk om de methode, de activiteiten (open moeten zijn, als De gebruikers op de toepassing., activiteiten) en, tot slot, telefoon, doe onboardingactivity,.Dit is de wijze van uitvoering van de finishonboarding, eruit moet zien:,, particuliere nietig finishonboarding () {///////SharedPreferences voorkeur om de gemeenschappelijke preferentie = getsharedpreferences ("my_preferences", mode_private); ///////onboarding_complete is een voorkeur. Edit (). Putboolean ("onboarding_complete", waar van toepassing zijn (), /). De belangrijkste activiteiten /emissie, bekend als de bedoeling de belangrijkste = nieuwe opzet (het belangrijkste activiteiten. Les); startActivity (belangrijkste); ///////onboardingactivity af (gesloten);}, 7.Van de toetreding, in dienst van opleiding, activiteiten, activiteiten, moet zo snel mogelijk worden als de gebruikers niet in het kader van de toepassing van de voltooiing van de registratie van start te openen.Het betekent dat je het opsporen van nieuwe toe te voegen aan de gebruikers en de afgifte van de code, onboardingactivity, in onCreate, je aanvraag is de belangrijkste activiteit, de methode, de door het arrest, SharedPreferences, object met een sleutel, onboarding_complete, waarvan de waarde is, echt, je kan beslissen of de gebruiker heeft De voltooiing van het proces in het beroepsonderwijs.Als een van de belangrijkste waarden, vals, en sluit het belangrijkste, de activiteiten, het creëren van een nieuw plan onmiddellijk, onboardingactivity, gelanceerd.Kijk naar de volgende code voor een beter begrip van het concept van het verkrijgen van gezamenlijke voorkeur.,, ///////SharedPreferences voorkeur = getsharedpreferences ("my_preferences", mode_private); ///////onboarding_complete als (valse controleren.De voorkeur. Getboolean ("onboarding_complete", valse)) {///////binnenkomst activiteiten begin voornemens in het niveau van de bedoelingen van dit onboardingactivity = nieuwe.); startActivity (toetreding); ///////de belangrijkste activiteiten sluiten. (); rendement;}, 8.update aanvragen, de lijst van de als je dat nog niet gedaan hebben, het heeft aangekondigd, onboardingactivity, toepassing van de,, lijst. < activiteiten: naam van de androïde = ". Onboardingactivity" Android:screenorientation = "landschap" />,, 9.De opstelling en rennen, nu kan je het opstellen van uw aanvraag, en het in een robot inrichting.Want dit is de eerste keer dat je vlucht, je moet het zien in de rang van het scherm in plaats van de belangrijkste activiteiten van de conclusies,,,,,, in de les, je leren hoe te komen tot een simpele rekruten toevoegen aan je scherm en de toepassing ervan.Het gebruik van deze schermen, heel beknopt, zoals de toepassing van je kan doen als het moet worden gebruikt voor de gebruikers.,, de beste ervaring, in de rang van het proces moet zo kort mogelijk zijn, de gebruikers moet kunnen overslaan, op elk moment.