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?
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>
Essayer
getSupportActionBar().hide()
si vous utilisez AppCompatActivity
Et
getActionBar().hide()
si votre activité étend ActionBarActivity. J'espère que ça aide.
Vous pouvez masquer la barre d'actions lors de l'exécution en appelant hide()
. Par exemple:
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
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 :)
Une seule chose fonctionne dans le thème AppCompat - supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
Si vous utilisez une bibliothèque de support, utilisez:
getSupportActionBar().setDisplayShowTitleEnabled(false);
Sinon, utilisez
getActionBar().setDisplayShowTitleEnabled(false);
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é.