2010-01-12 10 views

risposta

12

Per aggiungere la spiegazione di Samuh (che non conoscevo - bello sapere che posso ancora simulare l'apertura/chiusura della tastiera hardware, cambiando l'orientamento) , puoi verificare la differenza tra orizzontale senza tastiera e orizzontale con tastiera aperta, modificando la configurazione hardware dell'AVD dell'emulatore: l'AVD può essere configurato per avere o meno una tastiera hardware. Se il tuo emulatore non ha una tastiera hardware, la tastiera virtuale appare come ti aspetteresti e la modalità orizzontale dovrebbe apparire come in modalità orizzontale su un telefono senza tastiera.

Per configurare l'emulatore AVD in modo che funzioni come se non avesse una tastiera hardware, nello strumento AVD & SDK Manager, fare clic su "Nuovo" per aggiungere un nuovo AVD, selezionare il livello SDK desiderato e altre opzioni e sotto l'Hardware sezione, aggiungere una nuova proprietà per "Supporto tastiera" e impostarlo su "No". Nella finestra di dialogo "Dettagli" dell'emulatore AVD, questo apparirà come "hw.keyboard = no".

Nota: è possibile anche modificare un intervallo AV esistente per attivare o disattivare il suo supporto per la tastiera da:

  1. Aprire Gestione AVD
  2. Selezionare il AVD che si desidera modificare
  3. Cliccare sulla Modifica ... a destra
  4. Nella sezione Hardware, fare clic su Nuovo ... sulla destra
  5. Nella casella combinataProprietà selezionare Supporto tastiera e fare clic su OK
  6. Sempre nella sezione Hardware , cambiare il supportovalore tastiera colonna a "no"
  7. Infine fare clic su Modificare AVD e uscire dal Gestore.

In alternativa, è anche possibile modificare il file <avd path>/avd/<AVD device name>.avd/config.ini e modificare la voce hw.keyboard su sì o no. Su Mac e Linux, è generalmente ~/.android/ e su Windows /Users/<user-name>/.android/.

In base alla risposta di Samuh, ciò significa che è possibile verificare il comportamento del telefono in modalità orizzontale con tastiera aperta (l'emulatore ha una tastiera hardware configurata) o in modalità orizzontale senza tastiera (l'emulatore è configurato senza tastiera) . Due piccole frustrazioni con questo sono 1) non è possibile emulare necessariamente come apparirà in modalità orizzontale su un dispositivo che ha una tastiera hardware,, ma la tastiera è nascosta (se ho capito bene) e 2) che avresti per eseguire due emulatori separati o almeno due AVD avviati separatamente, al fine di testare questi due casi diversi.

+0

@jpmcosta: sei sicuro che il percorso di Windows sia accurato? Quel percorso suona come Mac (che ho già avuto, come '~/.android'). Windows non sarebbe 'C: \ Documents and Settings \ \ .android \'? Forse le versioni recenti di Windows lo hanno cambiato in 'C: \ Users \ \', ma in questo caso dovresti usare '\' invece di '/', per evitare confusione con altre piattaforme. – Joe

2

Ho avuto questa domanda una volta (circa la simulazione di slide-out della tastiera/in) e mi aspettavo di trovare qualcosa nella sezione Simulating Hardware events using Emulator console della documentazione ufficiale dell'emulatore ma purtroppo non ho potuto. Ho pensato che sarebbe stato molto più semplice se si faceva scorrere dentro e fuori una tastiera e la sua emulazione fosse solo un segnale hardware da inviare al kernel.

Ho dovuto ricorrere al metodo indiretto per modificare l'orientamento del dispositivo premendo il pulsante PageUp sul tastierino numerico. Quando si modifica l'orientamento del dispositivo in questo modo e si stampa il valore dell'espressione (getResources().getConfiguration().hardKeyboardHidden == config.HARDKEYBOARDHIDDEN_YES) si ottengono valori diversi per verticale e orizzontale. Pertanto, la modifica dell'orientamento dell'emulatore è in qualche modo correlata all'apertura della diapositiva (non nascosta) e all'inserimento (nascosto).

vedere se funziona nel tuo caso ...

+0

Il problema è che sto visualizzando visualizzazioni diverse per diversi orientamenti, ma cambio anche il layout se la tastiera è aperta. È un po 'fastidioso non essere in grado di simulare questo nell'emulatore. – LambergaR

+0

Hai provato a cambiare l'orientamento premendo il pulsante PgUp? Combinando la modifica dell'orientamento con controlli appropriati della proprietà hardKeyboardHidden è possibile verificare se tutti i tuoi logici/predicati vengono raggiunti/soddisfatti. – Samuh

Problemi correlati