Je souhaite masquer la barre de titre de 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 @android:style/Theme.NoTitleBar
.
L'utilisation du thème NoTitleBar comme parent de mon style supprimerait la barre de titre de toutes mes activités.
Puis-je définir un élément de style sans titre quelque part?
android
android-layout
titlebar
Janusz
la source
la source
Vous pouvez modifier votre
AndroidManifest.xml
:ou utilisez
android:theme="@android:style/Theme.Black.NoTitleBar"
si vous n'avez pas besoin d'une activité plein écran.Remarque: Si vous avez déjà utilisé une vue «par défaut», vous devez probablement également changer la classe parent de
AppCompatActivity
àActivity
.la source
android:theme="@android:style/Theme.Black.NoTitleBar"
est probablement plus utile à moins que vous ne fassiez un jeuJ'ai maintenant fait ce qui suit.
J'ai déclaré un style héritant de tout de mon style général, puis désactivant la barre de titre.
Maintenant, je peux définir ce style pour chaque activité dans laquelle je souhaite masquer la barre de titre en remplaçant le style à l'échelle de l'application et en héritant de toutes les autres informations de style, donc pas de duplication dans le code de style.
Pour appliquer le style à une activité particulière, ouvrez
AndroidManifest.xml
et ajoutez l'attribut suivant à laactivity
balise;la source
Je n'aime pas le
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
car la barre de titre apparaît brièvement, puis disparaît.Je n'aime pas non plus le
android:theme="@android:style/Theme.NoTitleBar"
parce que j'ai perdu tous les changements Holo 3.0+ auxquels les utilisateurs des nouveaux appareils se sont habitués. Je suis donc tombé sur cette solution.Dans votre dossier res / values , créez un fichier appelé styles.xml (s'il n'existe pas déjà). Dans ce fichier, placez le code suivant:
Créez ensuite un res / values-v11 avec un autre fichier styles.xml (une fois encore, il peut déjà exister). Dans ce fichier, placez le code suivant:
Et si vous visez 4.0+, créez un dossier res / values-v14 avec encore un autre fichier styles.xml (Oui, il peut déjà y être). Dans ce fichier, placez le code suivant:
Enfin, avec tous ces fichiers créés, ouvrez votre fichier AndroidManifiest.xml , vous pouvez ajouter le code:
à la balise d'activité de l'activité pour laquelle vous ne voulez pas de titre ou à la balise d'application si vous souhaitez qu'elle s'applique à l'ensemble de l'application.
Maintenant, vos utilisateurs obtiendront les thèmes associés à la version de leur appareil avec la disposition d'écran que vous désirez.
PS La modification de la valeur
android:theme="@style/Theme.FullScreen"
aura le même effet, mais supprimera également la barre de notification.la source
La barre de titre peut être supprimée de deux manières, comme indiqué sur la page Android du développeur:
Dans le
manifest.xml
dossier:Ajoutez ce qui suit
application
si vous souhaitez le supprimer pour toutes les activités d'une application:Ou pour une activité particulière:
la source
la bonne réponse est probablement de ne pas étendre ActionbarActivity plutôt que d'étendre simplement l'activité
si vous utilisez toujours l'activité de la barre d'action, cela semble fonctionner:
semble que cela fonctionne aussi:
je pourrais faire comme l'a écrit Scott Biggs. ce genre de travaux. sauf qu'il n'y a pas de thème alors. je veux dire que l'arrière-plan du menu des paramètres est transparent:
il suffit de changer
à Activité ou FragmentActivité
Cependant, je pourrais le faire paraître assez bien en utilisant la conception matérielle et ne pas supprimer la barre d'action: https://gist.github.com/shimondoodkin/86e56b3351b704a05e53
c'est par exemple du style de barre d'action de compatibilité de conception matérielle.
la source
ce qui fonctionne pour moi:
1- dans styles.xml:
2- dans MainActivity
en manifeste hérite du style:
la source
getSupportActionBar().hide();
dans onCreate () {} fera le travailSi vous utilisez, l'
this.requestWindowFeature(Window.FEATURE_NO_TITLE)
utilisateur pourra toujours voir la barre de titre pendant un moment pendant le lancement de l'animation lorsque l'activité commenceraonCreate
. Si vous utilisez@android:style/Theme.Black.NoTitleBar
comme indiqué ci-dessous, la barre de titre ne sera pas affichée pendant l'animation de lancement.l'exemple ci-dessus remplacera évidemment votre thème d'application existant, si vous avez un thème existant, ajoutez-
<item name="android:windowNoTitle">true</item>
le.la source
lorsque j'essayais d'utiliser toutes ces réponses très positives, mon application se bloquait toujours. (Je pense que cela a quelque chose à voir avec le "@android: style"?)
La meilleure solution pour moi était d'utiliser les éléments suivants:
Plus d'en-tête / barre de titre. Placez-le simplement dans le
<application>...</application>
ou en<activity>...</activity>
fonction si vous ne le souhaitez pas dans toute l'application ou simplement dans une activité spécifique.la source
Créez un thème comme ci-dessous.
la source
Ajouter
<item name="android:windowNoTitle">true</item>
dans AppTheme (styles.xml)
la source
Utilisez simplement
getActionBar().hide();
votreonCreate()
méthode d' activité principale .la source
Vous avez juste besoin de changer de
AppTheme
style dans Style.xml si vous remplacez la définition deDarkActionBar
à
NoActionBar
l'AppTheme défini dans AndroidManifast.xml
la source
Pour
AppCompat
, la solution suivante a fonctionné pour moi:Ajoutez un nouveau style de thème sans barre d'action dans votre
styles.xml
ensembleparent="Theme.AppCompat.NoActionBar"
.Maintenant, implémentez le même style de thème pour votre activité d'écran de démarrage dans
androidManifest.xml
Voici le résultat:
la source
Vous pouvez utiliser ce code dans votre fichier java
ajoutez cette ligne avant de définir ou de charger votre vue
la source
Dans votre
onCreate
méthode, utilisez l'extrait de code suivant:la source
Ajoutez les deux pour le thème que vous utilisez:
la source
<item name="windowActionBar">false</item>
provoque le blocage de l'application. c'est peut-être ce que @ChrisAllinson voulait direAjoutez ce style à votre fichier style.xml
Après cela, faites référence à ce nom de style dans votre androidManifest.xml dans une activité perticulaire dans laquelle vous ne voulez pas voir la barre de titre, comme ci-dessous.
la source
android:
préfixe avant les noms dans votre premier bloc de code :)J'utilise un widget de support Toolbar v7. Donc, pour pouvoir supprimer ou masquer le titre, nous devons l'écrire.
la source
Ou si vous souhaitez masquer / afficher la barre de titre à tout moment:
la source
Dans mon cas, si vous utilisez Android Studio 2.1 et que votre version du SDK de compilation est 6.0, accédez simplement à votre fichier manifest.xml et modifiez le code suivant:
Voici le code:
Et voici le snip shoot (voir le code surligné):
la source
Cela a résolu mon problème
En manifeste mon activité:
Dans le style sous le nom "AppTheme":
la source
Pour masquer le titre et la barre d'action, j'ai fait ceci:
Dans le tag d'activité du manifeste:
Dans Activity.java avant setContentView:
c'est à dire,
// Supprimer la barre de titre
// Supprimer la barre de notification
REMARQUE : vous devez conserver ces lignes avant
setContentView
la source
La première réponse est l'amphibole. voici mon explication: ajoutez:
dans la méthode oncreate ().
avant:
(pas juste avant setContentView) si vous ne le faites pas, vous obtiendrez forceclose. Attribuez +1 à cette réponse.
la source
J'ai trouvé deux raisons pour lesquelles cette erreur peut se produire.
Une. Les indicateurs de fenêtre sont déjà définis à l'intérieur,
super.onCreate(savedInstanceState);
auquel cas vous souhaiterez peut-être utiliser l'ordre des commandes suivant:Deux. Vous avez le bouton Back / Up à l'intérieur de la barre de titre, ce qui signifie que l'activité en cours est un enfant hiérarchique d'une autre activité, auquel cas vous souhaiterez peut-être commenter ou supprimer cette ligne de code de l'intérieur de la
onCreate
méthode.la source
Voici à quoi ressemble le code complet. Notez l'importation de android.view.Window.
la source
Ajoutez le thème @ style / Theme.AppCompat.Light.NoActionBar dans votre activité sur AndroidManifest.xml comme ceci
la source
Si vous faites ce que disent les utilisateurs YaW et Doug Paul , vous devez avoir à l'esprit que les fonctionnalités de la fenêtre doivent être définies avant d'appeler setContentView. Sinon, vous obtiendrez une exception.
la source
ajouter le fichier le plus simple,
ajouter la ligne suivante dans votre fichier java,
la source
J'utilise Android Xamarin et cela a fonctionné pour moi.
la source