web-dev-qa-db-fra.com

Comment supprimer la barre de titre de l'activité en étendant ActionBarActivity ou AppcompatActivity avec le thème de la boîte de dialogue

J'ai dû étendre mon activité avec le thème Theme.AppCompat.Light.Dialog d'ActionBarActivity avant et maintenant depuis AppcompatActivity, car mon activité de base étend celui-ci.

Mais maintenant, avec la nouvelle bibliothèque appcompat v7 (v22), mon activité a commencé à afficher la barre de titre malgré le fait que j'utilise un style personnalisé avec les éléments windowActionBar = false, Android: windowNoTitle = true. Mais jusqu'à ce que la bibliothèque compatible avec l'application soit mise à niveau, il n'y a pas un tel problème, la barre de titre n'a pas été affichée.

Si mon activité étend FragmentActivity, tout va bien et je comprends que j'utilise peut-être un mauvais schéma que mon activité de dialogue s'étend d'AppcompatActivity mais je voudrais savoir s'il existe un moyen de supprimer la barre de titre?

28

J'ai eu le même problème et je devais faire quelque chose comme suit pour résoudre (notez l'utilisation de "windowNoTitle" au lieu de "Android: windowNoTitle")

<style name="Theme.MyDialog" parent="@style/Theme.AppCompat.Light.Dialog">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>
62
John O'Reilly

Essayer

  getSupportActionBar().hide() 

si vous utilisez AppCompatActivity

Et

 getActionBar().hide() 

si votre activité étend ActionBarActivity. J'espère que ça aide.

13
Krishna

Vous pouvez masquer la barre d'actions lors de l'exécution en appelant hide(). Par exemple:

ActionBar actionBar = getSupportActionBar();
actionBar.hide();
13
saksham agarwal

Pour résoudre la barre d'action sur la classe étendre AppCompatActivity, je commence par définir un nouveau thème à partir du thème principal dans le fichier style.xml:

style.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

et implémentez le thème noactionbar à l'activité que vous souhaitez dans AndroidManifest.xml. J'espère que cette aide :)

8
Febriansyah

Une seule chose fonctionne dans le thème AppCompat - supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

8
Andoctorey

Si vous utilisez une bibliothèque de support, utilisez:

getSupportActionBar().setDisplayShowTitleEnabled(false);

Sinon, utilisez

getActionBar().setDisplayShowTitleEnabled(false);
7
Obaidah

Ajouter Android:theme="@style/AppTheme.NoActionBar" dans AndroidManifest.xml fait l'affaire dans mon cas.

La solution @Brexx Galangue m'a donné l'erreur d'exécution suivante:

Java.lang.RuntimeException: impossible de démarrer l'activité
Causée par: Java.lang.IllegalStateException: vous devez utiliser un thème Theme.AppCompat (ou descendant) avec cette activité.

1
Marc