920 votes

Comment faire pour masquer la barre de titre pour une activité en XML avec un thème personnalisé existant

Je veux cacher la barre de titre pour certaines de mes activités. Le problème est que j’ai appliqué un style à toutes mes activités, donc je ne peux pas simplement définir le thème de @android:style/Theme.NoTitleBar.

À l’aide de la NoTitleBar thème en tant que parent pour mon style supprimerait la barre de titre pour beaucoup d’activités.

Ne puis-je définir un élément de style de titre aucun quelque part ?

1088voto

YaW Points 7113

Procédez ainsi dans votre `` méthode.

se réfère à le .

541voto

Redax Points 4831

Vous pouvez modifier votre `` :

Vous pouvez utiliser ceci pour chaque activité dans votre projet.

400voto

Janusz Points 52607

Maintenant, j’ai fait ce qui suit.

J’ai déclaré un style tout héritant de mon style général et ensuite désactiver la barre de titre.

Maintenant je peux mettre ce style à chaque activité dans laquelle je veux cacher la barre écrasant le style large application et héritant de toutes les autres informations du style, à cet effet de titre sans duplication dans le code de style.

168voto

Devin Stewart Points 1877

Je n'aime pas l' this.requestWindowFeature(Window.FEATURE_NO_TITLE); parce que la barre de titre s'affiche brièvement, puis disparaît.

Je n'aime pas l' android:theme="@android:style/Theme.NoTitleBar" parce que j'ai perdu l'ensemble de la 3.0+ Holo changements que les utilisateurs de ces nouveaux dispositifs se sont habitués à. Je suis donc venu sur cette solution.

Dans votre res/valeurs de dossier un fichier appelé styles.xml (Si elle n'existe pas déjà). Dans ce fichier, placez le code suivant:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Theme.Default" parent="@android:style/Theme"></style>
    <style name="Theme.NoTitle" parent="@android:style/Theme.NoTitleBar"></style>
    <style name="Theme.FullScreen" parent="@android:style/Theme.NoTitleBar.Fullscreen"></style>
</resources>

Créez ensuite un res/values-v11 avec un autre styles.xml fichier (une Fois de plus, ce qui peut déjà exister). Dans ce fichier, placez le code suivant:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Theme.Default" parent="@android:style/Theme.Holo"></style>
    <style name="Theme.NoTitle" parent="@android:style/Theme.Holo.NoActionBar"></style>
    <style name="Theme.FullScreen" parent="@android:style/Theme.Holo.NoActionBar.Fullscreen"></style>
</resources>

Et si vous ciblez 4.0+, créer un res/values-v14 dossier avec encore un autre styles.xml fichier (Oui, c'est peut-être déjà là). Dans ce fichier, placez le code suivant:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Theme.Default" parent="@android:style/Theme.Holo.Light"></style>
    <style name="Theme.NoTitle" parent="@android:style/Theme.Holo.Light.NoActionBar"></style>
    <style name="Theme.FullScreen" parent="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"></style>
</resources>

Enfin, avec tous ces fichiers créés, ouvrez votre AndroidManifiest.xml fichier, vous pouvez ajouter le code:

android:theme="@style/Theme.NoTitle"

à l'activité de la balise de l'activité que vous voulez pas de titre ou de l'application de la balise si vous souhaitez qu'elle s'applique à l'ensemble de l'application.

Maintenant, vos utilisateurs auront les thèmes associés à leur version du dispositif avec la présentation de l'écran que vous désirez.

P. S. la Modification de la valeur android:theme="@style/Theme.FullScreen" aura le même effet, mais aussi supprimer la barre de Notification.

108voto

whiteShadow Points 751

La barre de titre peut être retirée de deux façons, comme mentionné sur la page Android developer :

Dans le `` fichier :

  1. Ajoutez le code suivant dans `` si vous voulez l’enlever pour toutes les activités dans une application :
  2. Ou pour une activité particulière :

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