J'ai vu certaines applications, en particulier la plupart des jeux (par exemple Angry Birds, Temple Run, etc.) s'exécuter en plein écran et en mode paysage lors de leur lancement. Leur orientation ne change jamais et ils ne quittent jamais le plein écran lorsque l'écran est touché. Comment c'est fait? Quelles propriétés dois-je modifier ou coder?
Si vous préférez utiliser XML, vous pouvez modifier le fichier AndroidManifest.xml:
<activity Android:name="..."
Android:screenOrientation="landscape"
Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen">
</activity>
Si vous ciblez Android SDK 9 ou supérieur, vous pouvez utiliser sensorLandscape
au lieu de landscape
, ce qui signifie que l'écran apparaîtra correctement - les deux orientation paysage normale et orientation paysage inversée.
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);
...
}
Solution à votre problème
Le problème est résolu, et sur la base des réponses données ci-dessus, ce que j'ai fait était,
Étape 1: dans le fichier manifest.xml,
<application
. . .
Android:screenOrientation="landscape"
Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen">
. . .
</application>
Étape 2: dans le fichier Java, j'ai apporté les modifications suivantes,
@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);
}
et maintenant mon application fonctionne en plein écran, en mode paysage sans aucun problème. Merci à tous.
Mettez ceci dans onCreate()
dans chaque classe d'activité (écrans):
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
Ce code désactivera Android (tirez vers le haut). !!!