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 ?

1 réponse pour “Développer une application Android plein écran ?”

  1. yusu fheri a dit:

    merci pour ce tuto, il aa contribuer à mon travail de fin d’études.

Laisser une réponse