2 votes

Thème Android, plein écran et barre d'action

J'ai eu quelques problèmes avec les appareils qui ont la barre d'action. Lorsque je fonctionne sur un téléphone, je veux passer en plein écran, sans barre de titre ni barre d'état. Sur les tablettes, je veux afficher la barre d'action mais toujours pas de barre de titre. Minsdk est 7 ! La méthode setTheme ne fonctionne pas lorsque vous basculez en plein écran, je ne peux donc pas avoir deux thèmes. Existe-t-il un moyen d'afficher la barre d'action en mode plein écran ? La bibliothèque de support ne prend pas en charge la barre d'action.

La seule raison pour laquelle je veux faire ça, c'est parce que, sans aucune raison valable, ils ont cassé la compatibilité ascendante en déplaçant la touche menu vers la barre d'action. Selon la documentation, la solution la plus simple consiste à ajouter Android:showAsAction="ifRoom" aux éléments du menu. Mais cela ne fait absolument rien.

J'ai également testé de nombreuses solutions que j'ai trouvées sur Google et qui sont censées activer le plein écran. Aucune d'entre elles ne fonctionne sur aucun de mes appareils, alors s'il vous plaît, n'indiquez pas quelque chose que vous avez lu si vous ne l'avez pas utilisé vous-même.

EDIT : J'ai résolu le problème. Le problème semble être que vous devez spécifier un thème Holo pour récupérer la barre d'action. Sinon, elle ne s'affiche pas. J'ai ajouté ceci dans mon activité principale.

@Override
public void setTheme(int resid) {
    if(isTablet(this))
    {
        super.setTheme(android.R.style.Theme_Holo);
        return;
    }
    super.setTheme(resid);
}

2voto

CommonsWare Points 402670

Sur les tablettes, je veux afficher la barre d'action, mais pas de barre de titre.

La barre d'action remplace la barre de titre. Il n'y a pas de concept d'activité avec une barre d'action. et une barre de titre.

Existe-t-il un moyen d'afficher la barre d'action en mode plein écran ?

AFAIK, non, par définition.

La bibliothèque de support ne prend pas en charge la barre d'action.

ActionBarSherlock fournit un backport de la barre d'action pour les niveaux 7 et plus de l'API.

Selon la documentation, la solution la plus simple consiste à ajouter Android:showAsAction="ifRoom" aux éléments du menu. Mais cela ne donne absolument rien.

Il ne fait certainement "rien" si vous n'avez pas de barre d'action. Si vous voulez une expérience plein écran, vous devrez alors mettre en place votre propre remplacement de menu. À mon avis, la plupart des applications plein écran le font déjà (par exemple, un jeu qui se déroule avec un "menu" de style jeu).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X