Informatica e altro.

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Tuesday, 27 November 2012

Java – Programmiamo in stile Holo

Posted on 16:14 by Unknown

Java – Programmiamo in stile Holo



Dall’uscita di Android Ice Cream Sandwich uno dei parametri di giudizio per quanto riguarda le applicazioni è, senza ombra di dubbio, lo stile che ha usato lo sviluppatore, in altre parole se rispetta le guidelines fornite da Google ed è in stile Holo oppure no; ma come facciamo ad utilizzare queste linee guida?
Quello che vedremo in questo tutorial è come creare delle activity che usino l’Action Bar e vedremo come posizionarla sopra o sotto (come fa GMail, insomma) rispetto alla nostra Activity, come possiamo vedere nell’immagine qui sotto.


Ingrandendo l’immagine (con un click su di essa) notiamo due particolari nella parte di sinistra: l’icona cliccabile in alto a sinistra e la barra delle icone in basso.
Iniziamo proprio da quest’ultima, che è la trasposizione grafica di un file XML salvato in res/menu contenente una serie di item che rappresentano proprio quelle icone:
<item android:id=”@+id/menu_settings”
android:title=”@string/menu_settings”
android:orderInCategory=”1″
android:showAsAction=”ifRoom|withText” android:icon=”@drawable/action_settings”/>
Per questo tutorial abbiamo semplicemente modificato il file che viene automaticamente creato da Eclipse quando specifichiamo, durante la creazione del progetto, di usare le API di ICS come requisito minimo.
Analizzando il listato, notiamo sostanzialmente solo due istruzioni che possono suscitare qualche perplessità: orderInCategory, che specifica l’ordine delle icone nel menù e showAsAction, che specifica alla nostra applicazione come deve mostrare questi pulsanti; nello specifico, l’applicazione mostra il bottone se ha spazio, altrimenti lo metterà come elemento del menu a tendina che si apre cliccando i tre puntini verticali in alto sulla destra.
A questo punto, abbiamo appurato come creare un menù, quindi possiamo spostarlo in basso semplicemente aggiungendo il parametro uiOptions all’Activity nel file Manifest
<activity
android:name=”.MainActivity”
android:configChanges=”orientation|keyboardHidden|keyboard”
android:label=”@string/title_activity_main”
android:uiOptions=”splitActionBarWhenNarrow” >
Ecco fatto, il menù è pronto e possiamo occuparci del Java.
Andando a scorrere il codice della nostra Activity, notiamo subito una nuova istruzione nel metodo onCreate
getActionBar().setDisplayHomeAsUpEnabled(true);
questa riga ci permette di utilizzare l’icona in alto a sinistra come specifica nelle linee guida, e la andiamo a gestire come un bottone del menu, impostando un case apposta per l’id android.R.id.home. Di default, Eclipse ci risparmia questo compito andando a scrivere il codice che si occupa della gestione di questa procedura, ma possiamo sempre modificarlo e far sì che l’applicazione esca se si trova alla prima Activity.
Scorrendo verso il basso di poche righe, notiamo che all’Intent per lanciare la seconda Activity è stato assegnato un flag FLAG_ACTIVITY_CLEAR_TOP, che forza il software a modificare lo stack delle chiamate, in modo tale che, premendo il bottone in alto a sinistra, si torni all’Activity chiamante e si esca premendo il tasto back, senza rischio di finire in un’altra finestra della nostra applicazione lanciata precedentemente.
Intent intent = new Intent(this,SettingsActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Per chi volesse provare l’applicazione, la può scaricare, come al solito, dal Play Store, mentre i sorgenti sono reperibili nell’apposito thread del nostro forum.

logo-app
Programmare Holo
Roberto Orgiu
Gratis  star-on-dark-imgstar-on-dark-imgstar-on-dark-imgstar-on-dark-imgstar-on-dark-img (5,0)
Strumenti
Dimensioni:168k
Play Store

Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Longboarding: Arbiter in Texas
  • Motorola Razr M HD: ecco le presunte caratteristiche tecniche
    Motorola Razr M HD: ecco le presunte caratteristiche tecniche Ampiamente prevedibile, sebbene ancora non sia confermato, il  Motorola Razr M...
  • Galaxy Note 2: l’aggiornamento ad Android 4.1.2 (download e guida)
    Galaxy Note 2: trapela l’aggiornamento ad Android 4.1.2 (download e guida) Samsung  non smette mai di lavorare sui suoi terminali e, visto c...
  • I Google Glass hanno un nuovo concorrente: Vuzix M100
    I Google Glass hanno un nuovo concorrente: Vuzix M100 Il 2013 sarà sicuramente l’anno della realtà aumentata. Google è pronto a distribuire ...
  • smontaggio Nexus 4 grazie a ifixit
    Nexus 4 Teardown Step 1  — Nexus 4 Teardown  Google unveiled its 4th generation phone in the Nexus line and it's called—wait for it—the ...
  • Google Maps su iOS 6 registra 10 milioni di download in 48 ore
    Google Maps su iOS 6 registra 10 milioni di download in 48 ore Google Maps  è tornato da poco ufficialmente anche sui dispositivi iOS, prima...
  • oStream: rapida e potente alternativa all’app di Facebook
    oStream: rapida e potente alternativa all’app di Facebook Se l’esperienza con l’app di Facebook per Android non vi soddisfa (come darvi tort...
  • Stonex STX: nuovo smartphone Android con supporto dual-SIM
    Stonex STX: nuovo smartphone Android con supporto dual-SIM Forse non tutti conoscono l’azienda italiana  Stonex , leader nella progettazione...
  • WebOS ha un “grande vantaggio” su iOS e Android
    WebOS ha un “grande vantaggio” su iOS e Android La CEO di Hewlett-Packard, Meg Whitman ha detto che WebOS, il sistema operativo che l’aziend...
  • Gigabyte GR-EZI04H: NAS domestico USB 3.0 per 4 Hard Disk
    Gigabyte GR-EZI04H: NAS domestico USB 3.0 per 4 Hard Disk Gigabyte  annuncia oggi una nuova proposta rivolta al mercato dell’archiviazione d...

Blog Archive

  • ►  2013 (117)
    • ►  September (1)
    • ►  July (1)
    • ►  March (31)
    • ►  February (53)
    • ►  January (31)
  • ▼  2012 (383)
    • ►  December (203)
    • ▼  November (180)
      • NESSUNO MAI.....
      • Aocos PX102, un’economica alternativa al Transform...
      • Nokia alla ricerca di ingegneri per lavorare su Linux
      • Xbox SmartGlass si aggiorna con il supporto ai tab...
      • Huawei T8830: smartphone dual-core con Android 4.0...
      • Strane trasparenze negli account secondari in Andr...
      • Freeze! La fuga: un rompicapo unico e particolare ...
      • AQUOS SH930W: nuovo Smartphone top Gamma Full HD p...
      • Nexus 4 arriva in Italia in versione Europa? Ecco ...
      • PopMyPhone: SMS, chiamate e molto altro direttamen...
      • Google Drive inserisce la funziona Copia Negli App...
      • Nexus 4 vs HTC DNA: “presente” e Futuro nel mondo ...
      • Naruto tutta la serie
      • Kingston presenta i nuovi SSDNow V300 con controll...
      • MSI GT60: Workstation Mobile per gli utenti più es...
      • Intel aggiorna la roadmap delle CPU Desktop
      • A.A.A cercasi Nexus 4 disperatamente: fino a 2 mes...
      • oStream: rapida e potente alternativa all’app di F...
      • Ecco il Nexus 4 alle prese con la ricarica wireless
      • Whatsapp a pagamento a breve? Samsung propone di i...
      • Google e il suo nuovo meccanismo di ricerca sul we...
      • Emulare giochi Windows su Android, si potrà con Wi...
      • Fujitsu Arrows F-04E V: 4-core per smartphone che ...
      • LG Optimus G prepara il successore, perché può?
      • Mercato Processori: a breve una nuova proposta dal...
      • Toshiba presenta i Notebook Satellite C e Satellite L
      • Intel: CPU Ivy Bridge in pensione entro giugno 2013?
      • Open webOS portato su Nexus S in forma di app
      • Adobe ottimizza Photoshop Touch anche per Nexus 7
      • Oppo Find 5: quad-core, display Full HD, fotocamer...
      • Smartphone con doppio sistema operativo potrebbero...
      • Sharp Aquos Phone Zeta SH-02E: nuovo smartphone An...
      • Nuovi iMac disponibili in Italia a partire dal 30 ...
      • Windows 8: un aggiornamento causa il blocco all’av...
      • Intel Core i7 3770K: nuovo record di overclock a 7...
      • ASUS Crosshair V Formula-Z: Overclock garantito pe...
      • Mercato Ultrabook: le spedizioni dovrebbero raddop...
      • SSD OCZ Vector con controller Indilinx Barefoot 3
      • Java – Programmiamo in stile Holo
      • Sharp Aquos Phone Zeta SH-02E: in Giappone dal 29 ...
      • Huawei presenta Ascend D1 Quad, Ascend G 600 e Med...
      • Meizu svela ufficialmente l’MX2: display HD, quad-...
      • Lenovo presenta il P770 con una batteria da 3.500 mAh
      • Attivatore Windows 8: il miglior programma per att...
      • Samsung GT-I9400 appare in un NenaMark2: chi è que...
      • Nexus 7 3G in vendita dal 29 Novembre da MediaWorld
      • ZTE Apache: Smartphone con SoC di Mediatek a 8 cor...
      • Huawei Ascend D2: confermata la risoluzione Full HD!
      • Sono già 9 gli smartphone Full HD attesi per il pr...
      • Nel 2013 saranno guai per il Digitale Terrestre do...
      • SSD mSATA: in arrivo il nuovo Intel 525 da 240GB
      • Gigabyte rilascia la scheda madre GA-990FXA-UD3 re...
      • Gli utenti Windows XP sono poco interessati a Wind...
      • Dischi Ottici da 1 TB, una realtà grazie a Fujifilm
      • David J. Kappos: “Il sistema dei brevetti funziona...
      • HTC Germania: “Niente Deluxe per l’Europa”
      • LG ci spiega perchè il chip LTE del Nexus 4 non è ...
      • ZTE N880E il primo smartphone non-Nexus a ricevere...
      • ASUSPRO BU400: l’ultrabook per le imprese e i prof...
      • Ecco a voi la droid-mobile
      • Jolla toglie i veli da Sailfish OS
      • Samsung “Baffin” compare in una certificazione FCC...
      • TasKarou Launcher Overlay porta i controlli rapidi...
      • Samsung prepara Exynos big.LITTLE da 8 core per il...
      • iiyama ProLite T2234MC: Monitor LCD Touchscreen da...
      • EK-Ram Dominator: Dissipatore a liquido per memori...
      • Buffalo Tecnology: in arrivo i nuovi Masterizzator...
      • Sapphire presenta i Mini PC EDGE VS con APU Trinity
      • Splashtop 2: stabilità migliorata e supporto alle ...
      • Samsung presenta SCH-W2013, un flip-phone quad cor...
      • LG Nexus 4: in Canada hanno attivato il chip LTE?
      • Lenovo nel 2013 sorpasserà Samsung in Cina
      • LG Nexus 4: nuove informazioni sul possibile prezz...
      • Samsung Galaxy S: ecco la prima ROM AOSP Android 4.2
      • Kobo Arc arriva in Italia a Dicembre: pre-ordini d...
      • Yuga e Odin: dimensioni e peso dei due futuri 5” d...
      • L’interfaccia Flyme di Meizu ora anche su Sony Xpe...
      • Presto un Samsung Galaxy S III dual sim?
      • HTC Deluxe si mostra in nuove immagini ufficiali
      • Nuove immagini del Meizu MX2 appaiono in rete
      • Lo smartphone più sottile al mondo: Vivo X1 con so...
      • Il Multi Windows arriva anche su Galaxy S2!
      • ND-04 di Nodis: Nuovo smartphone Dual-sim compatto...
      • Galaxy Note 2: l’aggiornamento ad Android 4.1.2 (d...
      • [Guida] Installazione Firmware Leaked N7100XXDLJ2
      • Brondi Glory, un interessante smartphone Android d...
      • Oppo Find 5 verrà svelato in Cina il 12 dicembre
      • Firefox: il nuovo aggiornamento supporta i process...
      • Oppo Ulike 2: il primo smartphone per le donne con...
      • Archos lancia ufficialmente il FamilyPad: Tablet d...
      • Nexus 7 e 10 di Google non sono certificati “Mirac...
      • Samsung Galaxy S II Plus in arrivo ad inizio 2013
      • Niantic Project: Ingress lanciato ufficialmente il...
      • Nexus 7 vola da 20 metri e… si distrugge!
      • Samsung Galaxy S3, Galaxy S Duos, Galaxy Ace e Gal...
      • Sony Xperia V anticipa l’uscita in Svezia e Finlan...
      • Chromebook: Sony e Lenovo i prossimi produttori?
      • WebOS ha un “grande vantaggio” su iOS e Android
      • È Titan il supercomputer più veloce al mondo con L...
      • Il Sinclair BASIC disponibile sul Raspberry Pi
Powered by Blogger.

About Me

Unknown
View my complete profile