2012-04-03 18 views
10

Ho sviluppato un'applicazione e configurato il suo orientamento è Orizzontale, quindi verrà sempre visualizzato in orizzontale sul dispositivo.Come ruotare la mia applicazione a 180 gradi capovolto quando si ruota il dispositivo a 180 gradi capovolto?

Ora voglio capovolgerlo di 180 gradi capovolto quando l'utente ruota il dispositivo di 180 gradi capovolto in modo che si aggiusti di conseguenza e visualizzi correttamente l'utente. A condizione che io stia ruotando il dispositivo di 180 gradi capovolto, La mia applicazione non Si regola di conseguenza in base alla rotazione, quindi verrà visualizzato al contrario (dal basso verso l'alto) ad esempio: supponiamo che la mia attività abbia 2 campi di testo nella parte superiore e 2 pulsanti nella parte inferiore, quindi se ruoti il ​​dispositivo di 180 gradi capovolto, L'attività non viene regolata di conseguenza, pertanto l'utente può visualizzare i pulsanti nella parte superiore e i campi di testo sono in basso, che è sbagliato deve essere regolato/ruotato in base alla rotazione del dispositivo e deve visualizzare i campi di testo nella parte superiore e i pulsanti nella parte inferiore.

Si prega di fornire le soluzioni di valore per risolvere questo problema.

saluti, Piks

+0

hei, io in realtà voglio l'opposto della tua domanda, non voglio che capiti 180. Come hai fatto ?, –

risposta

5

Nel file AndroidManifest.xml, è necessario configurare il <activity> per utilizzare l'orientamento dal sensore. Questo dovrebbe essere il valore predefinito, ma è possibile forzarlo sugli orientamenti del sensore, per tutti i 4 possibili orientamenti, con android:screenOrientation="fullSensor". Vedere http://developer.android.com/guide/topics/manifest/activity-element.html#screen

EDIT: Se si desidera attivare tutti, ma uno di orientamento, si potrebbe disattivare l'orientamento intercettando l'evento di modifica dell'orientamento e annullando nel vostro Activity:

public void onConfigurationChanged(Configuration config) { 
    if (config.orientation != Activity.ORIENTATION_PORTRAIT) { 
    setRequestedOrientation(config.orientation); 
    { 
} 

(Questa è la parte superiore della la mia testa, ma pensa che funzioni, o qualcosa di simile.)

Devi dire a Android di lasciare che l'app gestisca anche le modifiche di orientamento nel tuo <activity> con android:configChanges="orientation".

+0

Grazie per i tuoi preziosi input ma sembra non supportato in Android 2.1 api livello 7 . C'è un modo per supportare in 2.1 api livello 7? E io non voglio ruotare la mia app in modalità verticale, quindi ho bisogno di correggere l'orientamento di app è Landscape, ma dovrebbe consentirmi di ruotare di 180 gradi capovolto. Il "sensore" – piks

+0

funziona anche, ma potrebbe non consentire l'orientamento del retro orizzontale su alcuni dispositivi. Modificherò la mia risposta con un modo per escludere un orientamento. –

+0

codice sopra non funziona come previsto, dopo la rotazione del dispositivo di 180 gradi, l'attività non si ridisegna per visualizzare come per rotazione del dispositivo. – piks

13

specificare:

android:screenOrientation="sensorLandscape" 

nel vostro AndroidManifest.xml. Questo trasformerà l'applicazione tra paesaggio e reverseLandscape.

+0

Dopo aver risposto alle 10-12 risposte e dopo aver trascorso 2-3 ore, questa risposta ha risolto il mio problema in un secondo. –

+0

Grazie, funziona !!!! –

Problemi correlati