2012-08-27 13 views
5

Ho creato un dispositivo Android virtuale, 480x800, corse, e come ho già trovato come cambiare la schermata di orientation (ritratto-paesaggio, CTRL + F11/CTRL + F12/KP7/KP9), ho usato questi tasti per cambiare il orientation.Android Emulator - Orientamento dello schermo non funziona correttamente

Ma quando provo uno di questi tasti, lo schermo virtuale ruota di 90 gradi, ma l'orientamento non cambia. Quindi, i pulsanti sono posizionati verticalmente sullo schermo e anche tutto il testo. Proprio come un'immagine che viene ruotata di 90 gradi.

Come si ottengono i gradi virtuali per passare effettivamente all'altro file di layout (/res/layout-land/activity_entry.xml)? Il visualizzatore grafico di Eclipse cambia tra landscape/portrait correttamente.

EDIT
ho aggiunto questa parte nell'attività proprio sotto questo metodo il onCreateOptionsMenu(Menu menu) , ma l'applicazione non riconosce il cambiamento orientamento dello schermo:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    Context context = getApplicationContext(); 
    CharSequence text = "Orientation changed"; 
    int duration = Toast.LENGTH_SHORT; 

    Toast toast = Toast.makeText(context, text, duration); 
    toast.show(); 
} 

EDIT 2
Quando chiamo this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) dal metodo onCreate(), funziona bene.

+0

Penso che sia Ctrl + F11 e Ctrl + F12, prova questo – Numair

+0

Ctrl + F12, funzionerà ovviamente. http: // stackoverflow.it/questions/1991318/how-to-change-emulator-screen-orientation – Anupam

+0

Rimuovi android: screenOrientation se lo hai impostato nella tua attività nel file manifest Android –

risposta

1

Innanzitutto numero di blocco e quindi premere o premere e controllare l'orientamento del emulatore è cambiato e altro modo per modificare l'orientamento di emulatore è premere Ctrl + f12.

+2

sia KP9 che KP7 ruotano l'AVD di 90 gradi, ma lo schermo non è riarrangiato, tutto è ruotato di soli 90 gradi, come un'immagine – stealthjong

+1

Perché questa è considerata una risposta alla domanda? Non importa se premi CTRL F12 o Num Pad 7 o Num Pad 9 o .... Il programma di emulazione ruota, ma l'applicazione non viene notificata. –

+0

L'ho provato con l'app hello world più semplice possibile su più versioni di Android con o senza le API di Google. Con o senza tastiera hardware abilitata. Con o con istantanee. Con o senza usare la GPU. Con Eclipse o con Android Studio. Semplicemente non funziona! (era usato molto tempo fa.) –

1

Verificare se è stato impostato un qualsiasi android: screenOrientation nel file manifest per tale continuità. Se sì, rimuovilo e controlla.

Se non funziona, sembra un bug segnalato nei forum di Android. Vedi here

+0

Ma una volta rimosso, l'attività verrà spostata e ricreata in seguito al cambio di orientamento . Per fare in modo che l'attività gestisca il cambiamento senza ricrearlo, usa l'attributo 'android: configChanges' nel manifest. –

+0

Non ho quel set. Per qualsiasi attività Inoltre, ho provato KP7/KP9 e CTRL + 11/12, ma senza successo. – stealthjong

+0

Provare a fare clic su 7 dopo aver bloccato il numero. –

1

Potreste trovare, come ho fatto io, che il cambio di orientamento è stato effettivamente effettuato ma lo schermo è cambiato solo alcuni secondi più tardi di quanto ci si aspetterebbe. In altre parole, la risposta potrebbe essere "pazienza cavalletta".

-1

Mi sono imbattuto in questo recentemente e la risposta fornita qui non lo ha risolto. Tuttavia ho trovato questo post:

Android emulator not rotating to landscape

che menziona che c'è un bug in alcuni degli obiettivi emulatore (19 per esempio, che stavo usando).

Semplicemente cambiando il target a 17, la rotazione ha iniziato a funzionare correttamente.

Problemi correlati