Développer une application Android plein écran ?
Attention: cet article date du 30 janvier 2012
Ce qu'il contient est peut être encore valable...
... ou complètement obsolète!
Histoire d’occuper la plus grande partie de l’écran, comment faire disparaître la barre de titre ? Et la barre de notifications, et ainsi utiliser un maximum de pixels sur l’appareil?
Généralités
On appelle la barre de notifications celle qui se trouve tout en haut de l’écran, et qui indique diverses choses telles que la connectivité (wifi, 3g…), l’état de la batterie, l’heure…
La barre de titre affiche le titre (!) de votre application.
Si la barre de notifications est gérée par l’appareil lui même (et ses applications), vous choisissez le titre de votre application, défini dans le fichier res/values/strings.xml
.
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Barre</string> </resources>
La valeur de app_name
vous est demandé au moment de la création du projet (le fichier strings.xml
est généré par Eclipse) mais reste modifiable.
Retirer cette barre de titre…
Retirer la barre de titre est assez simple. Il suffit d’ajouter un attribut dans la balise activity
du fichier AndroidManifest.xml
:
<activity android:theme="@android:style/Theme.NoTitleBar" ...suite... />
Et le résultat vous fait gagner quelques précieux pixels !
Passer en plein écran ?
Tout aussi simple et selon le même principe.
<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" ... />
Résultat sans appel, à la même échelle !
Pas sûr que la capture écran apporte grand chose :)
Via Java ?
Si vous ne désirez pas être en plein écran en permanence, il est possible de le faire via le code, quand nécessaire.
package com.richardcarlier.pleinEcran; import android.app.Activity; import android.os.Bundle; import android.view.Window; // pour retirer la barre de titre! import android.view.WindowManager; // pour le plein écran public class PleinEcranActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Retirer la barre de titre requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); // Passer en plein écran int pleinEcran = (int)WindowManager.LayoutParams.FLAG_FULLSCREEN ; getWindow().setFlags(pleinEcran,pleinEcran); } }
Je suis passé par une variable pleinEcran
pour plus de lisibilité.
Réflexions autour du plein écran
Après, se pose la question de la nécessité de le faire ou non.
Je pense que la barre de titre ne sert pas à grand chose. A priori l’utilisateur connait le nom de l’application, puisqu’il vient de la lancer ; et il y a moult autres moyens plus agréables de la faire apparaître. Et on peut difficilement bouder les pixels gagnés.
Par contre, la barre de notifications peut vous servir, ou plus exactement servir aux utilisateurs de vos applications, comme l’explique ce petit article: How to Display the Android Status Bar in Full Screen Apps (en anglais).
Quand faut-il la faire disparaître ?
merci pour ce tuto, il aa contribuer à mon travail de fin d’études.