, tot nu toe de androïde BU bouwstenen in onze les hebben we niet echt op het menu zien, natuurlijk, ze is onze toepassing van een belangrijk deel van de ervaring van de gebruikers.Lees het begin van de eerste categorie androïde menu 's, de opties voor de gebruikersinterface. Androide, drie fundamentele opties: de menu' s vormen, is als je op het menu van de oude androïde apparatuur op het dak van het scherm, of door middel van de actie (3).De aanvragen moeten aan de opties van de wereldwijde toepassing van de algemene toepassing van het programma.De behandeling van de specifieke elementen van de context menu moeten opereren.Ze behandeld of m indeling bijzonder nuttig dat de lijst van de gebruikers, waar heb je de elementen van het menu zien.,, lijst van een verticaal.Die zijn voor een van de in het tweede deel van de menu 's goed gekozen, en niet als een aparte menu.,,, in deze handleiding, zullen we zien of het creëren van een door middel van XML - menu' s, en de toevoeging van een menu 's.Volgende maand zullen we bekijken in de context van de afzonderlijke projecten en programma 's.We gebruiken de code uit de vorige les in behandeld, controles, en de toevoeging van een menu 's menu,,,,, de definitie van een menu vermeldingen als XML - menu' s beste praktijken, dan zal het je code in.Dit maakt het makkelijker te zien: de menu 's, het betekent dat je kan readily tot verschillende versies van het menu voor verschillende apparatuur, en het separates visuele en behavioural.,, de belangrijke delen van het menu van XML - (voor beide opties en contextuele menus) voor de,,,,, A < menu> container voor menu posten; (< item> en < group> elementen), die moet worden met de wortel van het menu van XML -.,,,,,,, < item> - een menu item (, menuitem, als inflated in de code).,,,,,,,,,, group> <; staat je te categorise < item> en in de fracties, maar dat is visible.,,,,,, hier is een monster te redden in het kader van de opties menu, res/menu/main_menu.xml:,,, < menu xmlns:android= "http://schemas.android.com/apk/res/android" >Het project; < - id = "+ ID /achtergrond: titel = @ androïde serie /background_title" /> - showasaction = "nooit" < project - id = "+ ID /toast" = "titel" -. /toast_title "/> - showasaction = ifRoom < /menu >,,, de id zou laten we het menu 's in de rug; en de code, een titel, aard van het zal de tekst van de titel, als er geen icoon.Showasaction, welke actie zal, in het verkeer in de BAR zelf, of alleen in de "acties" menu rechts in de BAR.Hier, een actie zal worden aangetoond, indien een kamer, en andere nooit zullen zien.Gezien de verschillende eigenschappen van het dossier kan worden voorzien van een menu.,, je moet ook nog een string, res /waarde /string. XML,:,, < - naam = "background_title" > de achtergrondkleur < /serie > < touw = "toast_title" > een toast nieuws < /serie >,, als je een menu, je zal het nodig hebben van de code, die zal worden opgenomen in de operatie.Toegevoegd aan de gridviewtestactivity:,, openbare booleaanse onCreateOptionsMenu (menu) {menuinflater pomp = getmenuinflater (); de inflatie. De inflatie (r.menu.main_menu, menu 's); terug waar;}, opgesteld, van mening dat de opties.Dit is een androïde 4.3 van de acties BAR of minder; in de androïde 2.3, speel je het menu aan het menu, en het zal lijken op het scherm,,, in actie BAR niet ideale tekst; je moet het aanleggen en bijhouden van een icoon in de res /slaan, en dan ook nog het menu:,, de androïde. De iconen = "@ en /toast_icon. Papoea - Nieuw - Guinea, op het menu, verwerking, op dit moment, er is niets gebeurd, toen de gebruiker op de menu 's.We moeten een aanpak: klik,, openbare booleaanse onOptionsItemSelected (menu 's) {schakelaars (project. Getitemid ()) - Zaak r.id.background:changebackground (); terug waar; zaak r.id.toast: Proost. Maketext (getbasecontext (), r.string.toast_message, Proost. Length_long). De show (); terug waar; de standaard: terug Naar de Super. OnOptionsItemSelected (project);}} particuliere nietig changebackground () {behandeld tegen de achtergrond van de TabHost. Die kleur (kleur. Blauw);},, wat we nodig hebben is een schakelaar, kijken naar het project id om te beslissen wat te doen.Vaststellen dat de standaard is doorgegeven aan de moedermaatschappij.Als je wilt in een toepassing van een activiteit in een menu 's, die bijzonder nuttig.Je kan het schrijven van een klasse van de totstandbrenging van één van de menu 's, en van de vader van je klas op alle activiteiten, zodat degenen die dezelfde methoden., samenstelling en loopt, zie je een boodschap of achtergrond kleur veranderen.Een goede vooruitgang zal de gebruiker een keuze van verschillende achtergrond kleur,,,,,, in de code, de toevoeging van een menu, hoewel de meeste van de tijd het beste is geschreven in het XML - menu 's, soms moet je nog een menu met de programmering, bijvoorbeeld, dat alleen op het menu in bepaalde gevallen, of te veranderen.Ten eerste, we een week op basis van het menu zien, in de loop van verandering: uitbreiding, gridviewtestactivity activiteiten (privé - menu 's; in de backgroundcolour; openbare booleaanse onCreateOptionsMenu (menu) {this.menu = menu; getmenuinflater (). De uitbreiding (r.menu.main_menu, menu' s); setbackgrounditem (); terug Waar;} de Boolcaanse onOptionsItemSelected (menu 's) (///////r.id.background:changebackground (voorheen het geval backgroundcolour); terug waar; ///////de rest voor particuliere nietig setbackgrounditem () {} kalender kaarten = kalender. Getinstance (); in de dagen = Carl (kalender. Day_of_week); als (dagen = = kalender. Zondag) {backgroundcolour = COlor.magenta; menu. Finditem (r.id.background); project. Settitle ("de achtergrondkleur Magenta"); of backgroundcolour = color.cyan} {}); particuliere nietig (int changebackground kleur) {behandeld. Die TabHost achtergrond kleur (in kleur);}}, en dit is in grote mate dezelfde de code voor de wederopbouw, Maar een beetje, we moeten de menu 's en de achtergrond voor deze variabele).De belangrijkste verandering is, setbackgrounditem (), na de dag van de week, als het zondag is, om de achtergrond kleur menu id, en veranderingen, titel. Settitle (),,,,,,,, de toevoeging van een menu is vrij eenvoudig,,,, in de loop van gridviewtestactivity uitbreiding van activiteiten - privé - statische laatste new_message = 0; openbare booleaanse onCreateOptionsMenu (menu) {///////de rij toegevoegd: addnewitem ();} de Boolcaanse onOptionsItemSelected (menu 's) {schakelaars (project. Getitemid () {///////- verklaring voor de rest van new_message: Proost. Maketext (getbasecontext (), r.string.new_message, geroosterd brood. De show. Length_long). (); ///////rust zalVoor particuliere nietig addnewitem () {} menu toevoegen (0, 0, new_message, R.string. New_message_title);}}, menu 's, de eerste parameter. (), is een groep van ID' s. We hebben geen groep op het menu, dit is zero.Ten tweede is de Top van de projecten in de definitie van etikettering.De derde is onze orders, met als opdracht 0 interesseert ons niet.Ten slotte hebben wij de titel.Dit is onze nieuwe menu 's te creëren.Nog een zaak, onoptionsitemselected (), dat je de nieuwe menu is de juiste behandeling, de opstelling en de.,, zie je je nieuwe boodschap.Er moet echter worden opgemerkt dat, hoewel de dynamische toevoeging van menu 's soms goed is, moet je het menu in XML - en anderen, en dan deze lijn:,, een (pseudo). SetVisible;,,, de voorwaarden vast te stellen op basis van de code, de zichtbaarheid, zoals wij in de Code verandert de achtergrond kleur de titel van het menu.,,, hebben we de basis van het menu, kijk de volgende maand in de context van de menu' s meer training, en de lijst van projecten van de partij,.,
De ontwikkeling van de toepassing ervan: het creëren van een menu
Previous:Hoe... - alarm en mobiele telefoon