2013-01-06 9 views
10

Ho visto alcune app, in particolare la maggior parte dei giochi (ad esempio Angry Birds, Temple Run, ecc.) Lanciati a schermo intero e in modalità orizzontale all'avvio. Il loro orientamento non cambia mai e non escono mai a schermo intero quando lo schermo viene toccato. Come è fatto? Quali proprietà devo modificare o codificare?Creazione di un'app Android a schermo intero e orizzontale

+2

scusate, ma è una domanda comune, basta usare il sito per sviluppatori google e android: http://developer.android.com/develop/index.html; http://www.google.com/ – sebap123

+0

Ho cercato su Google ma invano. Nel sito web degli sviluppatori Android, non riuscivo a capirlo nonostante passassi attraverso tutte le proprietà ecc. –

+3

Ancora un altro esempio di quanto possa essere patetico "SO fondamentalismo". Si potrebbe dire "Usa Google" per un numero enorme di domande SO, molte delle quali con decine o centinaia di voti. Nessuno sembra lamentarsi di loro. – async

risposta

15

Se si preferisce utilizzare XML, è possibile modificare l'AndroidManifest.xml:

<activity android:name="..." 
    android:screenOrientation="landscape" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 

</activity> 

Se utilizzi Android SDK 9 o versione successiva, puoi utilizzare sensorLandscape anziché landscape, il che significa che lo schermo sarà l ook il modo corretto su sia normale orientamento orizzontale e orientamento orizzontale.

+0

Ottenuto .. grazie @ Tom-Lesse –

+0

Se impostato min sdk = 8 e utilizzare sensorLandscape in manifest, si verifica un arresto anomalo dell'applicazione? –

6
import android.view.Window; 
import android.view.WindowManager; 
import android.content.pm.ActivityInfo; 

@Override public void onCreate(Bundle savedInstanceState) 
{ 
    ... 

    // Set window fullscreen and remove title bar, and force landscape orientation 
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

    ... 
} 

soluzione al vostro problema

+0

Trovato !! Grazie @siranen –

+0

È molto meglio ... per aggiungere questo alle vostre rispettive attività – CandleCoder

4

Il problema è risolto, e sulla base delle risposte fornite in precedenza, quello che ho fatto è stato,

Fase 1: Nel file manifest.xml,

<application 
. . . 
android:screenOrientation="landscape" 
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 
. . . 
</application> 

Fase 2: Nella File Java, ho apportato le seguenti modifiche,

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
    } 

e ora la mia app funziona a schermo intero, orizzontale senza problemi. Grazie a tutti.

+0

Questo funziona bene, grazie Sunit – Ferrrmolina

1

Mettere questo in onCreate() in ogni classe di attività (schermi):

requestWindowFeature(Window.FEATURE_NO_TITLE); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
           WindowManager.LayoutParams.FLAG_FULLSCREEN); 

Questo codice consente di disattivare la barra di notifica di Android (tirare verso il basso). !!!

Problemi correlati