2011-10-24 1 views
33

Mi piacerebbe convertire/adattare la mia applicazione ad Android 4.0. Per farlo, prevedo di utilizzare ActionBar sui dispositivi che lo supportano. Tutte le versioni Android> = 3.0 farlo. Inoltre, i dispositivi che non dispongono di un pulsante del menu hardware sembrano mostrare automaticamente un pulsante "menu" sulla barra delle azioni.Come configurare l'Emulatore Android per mostrare pulsanti sullo schermo come il nuovo Galaxy Nexus?

Quando eseguo il test della mia applicazione sull'emulatore utilizzando il livello API 13, funziona come previsto ... ... ma in qualche modo non sono in grado di configurare l'emulatore in modo che si comporti allo stesso modo durante l'emulazione di un telefono su API livello 14 (Android 4.0). Quando provo a impostare "Hardware BACK/HOME chiavi" a falso ci sono nessun pulsante a tutti (non sullo schermo e non tastiera fornito dal emulatore).

Ho visto su alcuni screenshot e video del "Galaxy Nexus" che mostra un pulsante "menu" su ActionBar e anche ... come fanno i tablet Honeycomb, ma in qualche modo non riesco a fare lo stesso con l'emulatore che rende un po 'più complicato capire come funzionerà la mia interfaccia utente sui telefoni Andoid 4.0.

EDIT: Here is an image that is showing the On-Screen back and home buttons I would like to see in the emulator:

risposta

16

Sembra che il problema sia stato risolto con l'ultimo aggiornamento dell'SDK (R16). Basta aggiornare il tuo SDK e ADT a R16 e creare un nuovo emulatore utilizzando l'immagine del sistema Android 4.0 aggiornata.

+0

Ho provato questo con un aggiornamento (a R16) SDK, e ancora non mostra i pulsanti di navigazione. Hai fatto qualcosa di diverso? – johndrinkwater

+11

Attualmente ho installato l'ultima versione del plugin Eclipse (16.0.1). Tutto quello che devo fare per far funzionare i pulsanti sullo schermo è creare un nuovo AVD e impostare la proprietà hardware "Hardware Back/Home keys" di questo sistema su "No" prima di avviarlo la prima volta. –

+0

Inoltre non ottengo i tasti hardware su Windows 8, ultimo sdk ... – Peterdk

0

Se l'applicazione include funzionalità che potrebbe rispondere a un pulsante del menu, il tasto menu saranno aggiunti alla barra inferiore nera.

Se si ha difficoltà a vedere questo nell'emulatore, si può fare un po 'di soluzione impostando su una risoluzione tablet (io uso 1280x800) e osservando il comportamento del pulsante menu lì, come dovrebbe essere lo stesso come sulla versione del telefono.

+0

Il pulsante di menu indicato verrà visualizzato solo se l'applicazione non include e ActionBar. La mia app è compatibile con tablet, utilizza ActionBar su tutti i dispositivi con livello API 11 e versioni successive. Mi piacerebbe avere un'idea di come il "menu di overflow" cambi l'aspetto di questo ActionBar su dispositivi con uno schermo più piccolo come un tablet. Ho provato tutti quei "workaround" ma fino ad ora non vedevo questi pulsanti sullo schermo quando si utilizza un emulatore Android 4.0 e un telefono come skin. se si utilizza una skin per tablet, i pulsanti su schermo sono ok ma la disposizione dello schermo non assomiglia a un tablet e non a un telefono simile. –

+0

Il pulsante Menu viene visualizzato solo se il tuo sdk di destinazione è inferiore a Android 3.0 – Ivan

4

Quando si crea nuovo emulatore c'è griglia Hardware, e lì si può aggiungere opzioni hardware a casa e tornare pulsanti e hardware tastiera. Quindi, crea un nuovo emulatore e guarda il tuo "Galaxy Nexus" :)

Sfortunatamente non è possibile modificare queste proprietà per l'emulatore esistente.

+0

Puoi darmi un po 'più di dettagli su ciò che hai fatto (passo dopo passo). Quale skin stai usando WXGA720? Come accennato nella mia domanda sono a conoscenza della "griglia hardware" e ho già impostato i tasti Hardware Back/Home su False e anche molti altri parametri relativi alla tastiera. Purtroppo senza successo. Il file config.ini di questo emulatore ha ** hw.mainKeys = no, skin.name = WXGA720, hw.keyboard.lid = no, hw.keyboard = no ** –

2

Dopo l'aggiornamento a R16, è possibile visualizzare solo i pulsanti visualizzati sullo schermo se ho creato un emulatore utilizzando la risoluzione WXGA720.

Ecco il mio completo file config.ini:

hw.sdCard=yes 
hw.mainKeys=no 
hw.lcd.density=320 
disk.cachePartition.size=256MB 
hw.cpu.arch=arm 
skin.name=WXGA720 
sdcard.size=512M 
abi.type=armeabi-v7a 
image.sysdir.2=system-images\android-16\armeabi-v7a\ 
image.sysdir.1=add-ons\addon-google_apis-google-16\images\armeabi-v7a\ 
hw.gps=yes 
skin.path=platforms\android-16\skins\WXGA720 
hw.keyboard.lid=no 
hw.cpu.model=cortex-a8 
vm.heapSize=48 
hw.ramSize=1024 

Speriamo che questo aiuta qualcuno.

+4

'hw.mainKeys = no' è la chiave per il pulsante di navigazione soft per visualizzare – Yenchi

1

I tasti funzione sono presentati per me quando ho impostato hw.mainKeys a no:

  1. Aprire $HOME/.android/avd/YOURS.avd/config.ini
  2. Impostare hw.mainKeys=no

(Questo era coperto di a deleted answer; non so perché è stato eliminato.)