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
risposta
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.
Ottenuto .. grazie @ Tom-Lesse –
Se impostato min sdk = 8 e utilizzare sensorLandscape in manifest, si verifica un arresto anomalo dell'applicazione? –
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
Trovato !! Grazie @siranen –
È molto meglio ... per aggiungere questo alle vostre rispettive attività – CandleCoder
Due rapide ricerche di Google ha rivelato le risposte alle vostre domande.
Forza fullscreen un'attività: http://www.androidsnippets.com/how-to-make-an-activity-fullscreen
Forza orientamento un'attività: Force an Android activity to always use landscape mode
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.
Questo funziona bene, grazie Sunit – Ferrrmolina
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). !!!
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
Ho cercato su Google ma invano. Nel sito web degli sviluppatori Android, non riuscivo a capirlo nonostante passassi attraverso tutte le proprietà ecc. –
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